not a bad state -- simple finite state machine library