Smashing Magazine has a nice writeup [0] today and there are some interesting libs ([1], [2], [3], [4]) already in JS.
My question is, does it work for you? Is this a better solution?
[0] https://www.smashingmagazine.com/2018/01/rise-state-machines/ [1] https://github.com/krasimir/stent [2] https://github.com/intersel/iFSM [3] https://github.com/burrows/statechart.js [4] https://github.com/jakesgordon/javascript-state-machine/