Refactoring file system abstraction