in reply to
a State machine with Roles - possible?
On slide 135, it says...
Allow an object to alter its behavior when its internal
state changes. The object will appear to change its class.
That's exactly what Class::StateMachine does: it re-blesses the objects effectively attaching a different event dispatch table when the state changes. There is no need to use mixins when you can do the real thing!
The only advantage that mixins could bring to the table is having objects with multidimensional states. But I don't thing this is something practical which anybody would like to use for anything serious.
BTW, Class::StateMachine::Declarative is been used to model state machines as complex as QVD::HKD::VMHandler::LXC.