Storage abstract classes refactoring