fsm4j Finite State Machine for Java is a very small bit of code which provides a basis for implementing FSMs in Java.