Add abstraction between database logic and store implementation

So, e.g., we can easily store records in a non-mongo db by implementing
a few methods.