Refactored storage to make it easier to switch providers