An API abstraction for IndexedDb using Q.js Promises and the OJ Namespace