can just create a buffer/new (scratch) view, populate it with filenames, and then update the in-memory state on_close, on_pre_close, commit, on_modified and on_pre_close(save). (This allows deletion, addition, changing, and reordering.) (And also update the buffer on state change, in case users forgot to close the view.)