A Simple Deterministic Finite State Machine that uses groups to track progress through a State Diagram.