add unified interface for accessing file system

**please review**
This is not about feelings. It's about engineering. 

> creating the monolithic dependency is the entire purpose of
this code review

For what you gain out of it, this is bad engineering.