fewer state machines