How to persist incremental user state with client-server state machines
blog.dopt.com