docs: function(options) {
        options = options || {};
        this.viewState = new ViewStateCell({}, { view: this });
        this.feedbackCell = new Cell();
        this.__childViews = {};
        this.__sharedViews = {};
        this.__injectionSiteMap = {};
        this.__feedbackOnEvents = [];
        this.__feedbackListenToEvents = [];
        this.template = options.template || this.template;
        this.templateRendererOptions = options.templateRendererOptions || this.templateRendererOptions;
        this.__initializeBehaviors(options);
        this.trigger('initialize:begin');
        Backbone.View.apply(this, arguments);
        this.trigger('initialize:complete');
        if (!options.noActivate) {
          this.activate();
        }
        // Register by default.
        var shouldRegister = _.isUndefined(options.register) || _.isNull(options.register) || options.register;
        if (shouldRegister) {
          registry.viewInitialized(this);
        }
      }