To keep the interactions for dealing with the filesystem the same WHILE providing both the means for implementing filesystem drivers as well as mocking filesystem calls, we should look into a filesystem api abstraction layer like what is implemented via https://github.com/spf13/afero.