localStorage, without the bugs, and with an asynchronous api.