Lightweight app state persistence and versioning for ClojureScript/Javascript