This will prevent old file system instances from being recovered during GC. Based on the structure of `FileSystem`, I would prefer to see the stuff from `FileSystemWrapper` go into the constructor function. They can be private there and accessible to the internal implementations as well. If you also define the public API there you can keep `queueOrRun` and `runQueued` private as well.

Thoughts?