FileSystem abstraction. DirectoryFileSystem and MemoryFileSystem with builder