Why have you never used a state machine to control your app's behavior? Or better said: Why don't you use a State Machine in your controllers? Well the answer is: "There is no good reason why not." To demonstrate this we'll demystify what state machines are and marvel at how "predictably" they behave. Better yet, let's build one in a visual editor and then run it in a Web UI controller. No barriers to entry there. Lastly, we'll wrap up with some do's and don'ts and a sincere cry to "keep it simple smarty."