add unified interface for accessing file system

**please review**
cool. this is quite generic. could it be pulled up to `AbstractModule`?