code: function loadMiddlewareModules (options)
    {
      var middlewareStackClasses = [];
  
      options.internalMiddleware.forEach (function (moduleName)
      {
        var module = require (moduleName);
        if (!module.middleware)
          util.fatal ('No middleware found on module %.', moduleName);
        if (module.options)
          extend (options, module.options);
        middlewareStackClasses.push (module.middleware);
      });
  
      if (options.externalMiddleware)
        options.externalMiddleware.forEach (function (info)
        {
          var module = require (info.load);
          if (module.options)
            extend (options, new module.options ());
          var target = info.before || info.after
            , i = middlewareStackClasses.indexOf (target);
          if (~i)
            util.fatal ("Can't locate the % middleware module for inserting %.", target, info.load);
          middlewareStackClasses.splice (i + (info.before ? 0 : 1), 0, module.middleware);
        });
  
      return middlewareStackClasses;
    }
docs: Loads all middlewares (both internal and external).
  
  @param {TaskOptions} options The task's base default options. Extended options contributed by middleware will be
  set in turn by each loaded middleware module.
  @return {Array}