What is an FSM?