Create new Storage component to reduce code duplication between components
Fix typos, add new methods to StorageInterface