Added State Machine pattern