Simple finite state machines with integrated Celluloid timeout support.