code: function (done) {
      debug(`Running job "${this.id}"...`);
  
      var self = this;
      var dom = require('domain').create();
  
      // no plugins in use, nothing will happen. fail.
      if (!this.plugins.length) {
        return this.done({message: 'No plugins configured. Aborting'}, done);
      }
  
      // If the plugin has a listen function, execute it
      this.plugins.forEach(function (plugin) {
        if (plugin.listen) {
          var context = self.pluginContext(self.provider.id, _.cloneDeep(self.config.env), []);
          plugin.listen(self.io, context);
        }
      });
  
      if (this.job.fromStriderJson) {
        this.comment('Config merged from strider.json');
      }
  
      dom.on('error', function (err) {
        debug('domain error caught', err.message, err.stack);
        debug(err);
        dom.dispose();
        self.done(err, done);
      });
  
      dom.run(function () {
        self.phase = PHASES[0];
        self.runPhase(done);
      });
    }
docs: public api