A simple state machine Ruby gem