Storage refactoring

- Stricter jshint rules
- Refactored Storage to use adapter pattern