Yeah! Another Finite State Mechine