code: function webapp(id, plugin, striderjson, context, done) {
    if (plugin.appConfig) {
      defExtend(plugin.appConfig, context.config.plugins[id] || {});
    }
    // setup routes
    if (plugin.routes) {
      jobRoutes(id, plugin, context);
    }
    if (plugin.globalRoutes) {
      globalRoutes(id, plugin, context);
    }
    if (plugin.auth) {
      plugin.auth(context.passport, context);
    }
    // listen to global events; most job plugins shouldn't need this
    if (plugin.listen) {
      plugin.listen(context.emitter, context);
    }
    done(null, plugin.config);
  }
docs: schema { routes: function (app, context) {} globalRoutes: function (app, context) {} listen: function (io, context) {} }