Saw bug in which cleanup code in machine was not executed - a case was not considered in the state machine, and autotermination ended the machine execution.
Ideas:
* Provide a way to disable auto-termination for apps that intend to handle all cases.
* Provide hook when autotermination starts
* Provide hook when Machine is about to be destroyed