docs: def run_event_hooks(event, task):
      """ Executes registered task event plugins for the provided event and task.
  
          `event`
              Name of the event to trigger for the plugin:
                  ('task_start', 'task_run', 'task_end')
          `task`
              ``Task`` instance.
          """
  
      # get chain of classes registered for this event
      call_chain = _event_hooks.get(event)
  
      if call_chain:
          # lookup the associated class method for this event
          event_methods = {
              'task_start': 'on_taskstart',
              'task_run': 'on_taskrun',
              'task_end': 'on_taskend'
          }
          method = event_methods.get(event)
  
          if method:
              for _, get_plugin in call_chain:
                  plugin_obj = get_plugin()
  
                  if not _is_plugin_disabled(plugin_obj):
                      try:
                          getattr(plugin_obj, method)(task)  # execute
                      except Exception:
                          # TODO: log these issues for plugin author or user
                          pass