Clojure and Clojurescript library that strives to simulate state machine behavior and easy state management