Description
The current code creates internal FileHandle and DirectoryHandle classes that map directly to the underlying file system provider. Since these handles represent logical operations (e.g., read/write, list children, etc...) we should provide a pluggable implementation so that users can provide their own semantics - e.g., instead of referring to existing file Path-s interpret the requested paths as some other resource "address"