State machines make it simple to manage the behavior of a class. 
Too often, the state of an object is kept by creating multiple 
boolean attributes and deciding how to behave based on the values. 

state_machine simplifies this design by introducing the various
parts of a real state machine, including states, events,
transitions, and callbacks. However, the api is designed to be
so simple you do not even need to know what a state machine is.

WWW: http://www.pluginaweek.org
