Finite-state machine