code: function(view, options) {
        options = options || {};
        this.unregisterTrackedView(view);
        if (options.child || !options.shared) {
          this.__childViews[view.cid] = view;
        } else {
          this.__sharedViews[view.cid] = view;
        }
        return view;
      }
docs: Binds the view as a tracked view - any recursive calls like activate, deactivate, or dispose will
  be done to the tracked view as well.  Except dispose for shared views. This method defaults to register the
  view as a child view unless specified by options.shared.
  @param view {View} the tracked view
  @param [options={}] {Object}  Optional options.
  @param [options.shared=false] {Boolean} If true, registers view as a shared view. These are views not owned by this parent. As compared to a child view
  which are disposed when the parent is disposed. If false, registers view as a child view which are disposed when the parent is disposed.
  @return {View} the tracked view
  @method registerTrackedView