Add a file storage abstraction.

This is for the work on backups.
I feel like comments like this, that signal some shift of what is happening, almost always would be better as a separate unit.