def after
        unless @after_run
          # First resume previously paused callbacks
          if resume
            catch(:halt) do
              type = @success ? :after : :failure
              machine.callbacks[type].each {|callback| callback.call(object, context, self)}
            end
          end
          
          @after_run = true
        end
      end
def after
        unless @after_run
          # First resume previously paused callbacks
          if resume
            catch(:halt) do
              type = @success ? :after : :failure
              machine.callbacks[type].each {|callback| callback.call(object, context, self)}
            end
          end
          
          @after_run = true
        end
      end
Runs the machine's +after+ callbacks for this transition.  Only
 callbacks that are configured to match the event, from state, and to
 state will be invoked.

 Once the callbacks are run, they cannot be run again until this transition
 is reset.

 == Halting

 If any callback throws a <tt>:halt</tt> exception, it will be caught
 and the callback chain will be automatically stopped.  However, this
 exception will not bubble up to the caller since +after+ callbacks
 should never halt the execution of a +perform+.