code: function (cb) {
  
        // Provide hook context to closures
        hook = this;
  
        // Register route syntax for binding blueprints directly.
        sails.on('route:typeUnknown', onRoute);
  
        // Set up listener to bind shadow routes when the time is right.
        //
        // Always wait until after router has bound static routes.
        // If policies hook is enabled, also wait until policies are bound.
        // If orm hook is enabled, also wait until models are known.
        // If controllers hook is enabled, also wait until controllers are known.
        var eventsToWaitFor = [];
        eventsToWaitFor.push('router:after');
        if (sails.hooks.policies) {
          eventsToWaitFor.push('hook:policies:bound');
        }
        if (sails.hooks.orm) {
          eventsToWaitFor.push('hook:orm:loaded');
        }
        if (sails.hooks.controllers) {
          eventsToWaitFor.push('hook:controllers:loaded');
        }
        sails.after(eventsToWaitFor, hook.bindShadowRoutes);
  
        sails.hooks.responses.middleware.ok = responseOk;
        sails.hooks.responses.middleware.created = responseCreated;
        sails.hooks.responses.middleware.notFound = responseNotFound;
        sails.hooks.responses.middleware.badRequest = responseBadRequest;
        sails.hooks.responses.middleware.unauthorized = responseUnauthorized;
        sails.hooks.responses.middleware.forbidden = responseForbidden;
        sails.hooks.responses.middleware.serverError = responseServerError;
        sails.hooks.responses.middleware.negotiate = responseNegotiate;
        sails.hooks.responses.middleware.invalid = responseInvalid;
        sails.hooks.responses.middleware.invalidJsonApi = responseInvalidJsonApi;
  
        // Load blueprint middleware and continue.
        loadMiddleware(cb);
      }
docs: Initialize is fired first thing when the hook is loaded.
  
  @param  {Function} cb