An easy-to-use Finite State Machine implementation.