statemachine demo