This implementation isn't very nice. Most of it needs to be moved to the file package, which will handle the same things as storage, minus the file logic. And let's say storage could be used to retrieve the home directory, etc. We need to think about how to do it better.