High-level wrapper around IndexedDB API