docs: function BackboneViewWidget(template, childView, context, parentView) {
    this.template = template;
    this.context = context;
    this.parentView = parentView;
    this._isInitializedCallbacks = [];
    this.isInitialized = false;
  
    if (childView.tungstenView === true) {
      // If we're using the default syntax
      // 'className': constructor
      this.ViewConstructor = childView;
      this.model = this.context.lastModel;
    } else {
      // If we're using the verbose syntax
      // 'className': { view: constructor, scope: 'scope' }
      this.ViewConstructor = childView.view;
      var scope = childView.scope;
      if (scope === '__TEMPLATE__') {
        // __TEMPLATE__ is the default scope
        // Uses the current mustache syntax as the model
        this.model = this.context.lastModel;
      } else if (scope === '__PARENT__') {
        // __PARENT__ uses the parentView's model as the childView's model
        this.model = parentView.model;
      } else if (scope) {
        // Any other value is treated as a parent model lookup
        this.model = parentView.model.getDeep(scope);
      } else {
        errors.childViewWasPassedAsObjectWithoutAScopeProperty();
      }
    }
  }