A simple Finite State Machine that can be configured via State Transitions