if state.on_exit
          instance_exec(new_state.name, triggering_event, *args, **kwargs, &state.on_exit)
        else
          hook_name = "on_#{state}_exit"
          self.send hook_name, new_state, triggering_event, *args, **kwargs if has_callback?(hook_name)