DiskFileSystem inherits from IFileDevice, while there is FileSystem class. That's quite confusing. Maybe DiskFileDevice?