Add cacheKey option to scan and list methods, which will preserve the resulting array of paths between generator runs. Using watcher events, the preserved array is updated to reflect the current state of the filesystem.
This is probably more useful for scan than list. We might go with scan only for now.