Yet another Tiny State Machine for Ruby