Async storage on top of IndexedDB with downgrade to localStorage