Class renaming
Use FileSystemFactoryProvider
Delegate a lot more to FileSystemFactoryProvider