Don't pass around deferred all the time
Add IndexedDB engine