A Finite State Machine Library for Java