Have you considered using the transition if: :x
feature?
It should work something like this:
event :coming_of_age do
transition :child => :adult, if: :coming_of_age_party_in_the_future
end
You can see the section 'Class definition' in 'Example' (near the top) or 'Transition context' in 'Syntax flexibility' (pretty far down) in the README