Rewrite datastore to use localStorage. Refactor desktop.