code: 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);
        }
      }
docs: Array of feedback when-then-to's. Example:
  [{
  when: {'@fullName': ['change']},
  then: function(event) { return {text: this.feedbackCell.get('fullName')};},
  to: 'fullName-feedback'
  }]
  @private
  @property feedback
  @type Array
   
  Overrides constructor to create needed fields and invoke activate/render after initialization
  @method constructor