This is a concrete role that implements transitions, has_transition and has_transitions as required by Class::Workflow::State, and adds add_transitions, remove_transitions, clear_transitions , get_transitions, and get_transition as well.

This is an additional layer over Class::Workflow::State::TransitionSet that requires all transitions to respond to the name method, but as a bonus allows you to refer to your transitions by name or by value.