Issue 497: Abstracting Storage API

Resolves #497 

Remaining:
- [ ] CS Fixes

See #497 for further discussion.