hash storage refactor + tests, add mongoid storage, change delete to destroy