A framework for finite state machines.