State Machines adds support for creating state machines for attributes on any Ruby class.