Add mode validation
Create Storage parent class
Add tests