code: function run(name, op, options) {
      var task = _.find(taskList, {name: name});
  
      if (task) {
        var _hook = _.get(task.hooks(options), op) || coreHooks(task)[op];
  
        if (_.isFunction(_hook)) {
          _hook(options);
        }
      } else {
        if (options.verbose > 1) {
          console.log('  -', chalk.bold.yellow('[WARNING]:'), 'Task \'' + chalk.cyan(name) + '\' does not exist');
        }
      }
    }
docs: Generic interface for hooking into task registration/execution workflow.
  
  @name run
  @param {string} name - The name of the task.
  @param {string} op - The hook operation. Possible values: 'before', 'done', and 'validate'.
  @param {object} [options] - The task run options, passed to the hook callback function for use by the task.