code: function (cb) {
  
        // Provide hook context to closures
        hook = this;
  
        ////////////////////////////////////////////////////////////////////////
        // TODO:
        // Provide deprecation notice letting 0.9 users know that they need to
        // move their blueprint configuration to `config.blueprints` instead of
        // `config.controllers.blueprints`.  Similarly, need a message to let
        // folks know to move their controller-specific blueprint config from
        // `SomeController._config.blueprints` to `SomeController._config`.
        // In both cases, we can "fix" the configuration in-memory, avoiding
        // allowing the app to "still work". This can be done the same way we're
        // doing it for adapter config.
        ////////////////////////////////////////////////////////////////////////
  
        // 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);
  
        // Load blueprint middleware and continue.
        loadMiddleware(cb);
      }
docs: Initialize is fired first thing when the hook is loaded.
  
  @param  {Function} cb