Have a look at HSM&#x27;s if you have not. They fix a few combinatoric explosion problems with FSMs. Also known as statecharts. They are flattened to FSMs when run, but they make expressing complex systems more user friendly.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;UML_state_machine" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;UML_state_machine</a>