code: function(oldObserved, newObserveSet, name, onchanged) {
              if (oldObserved[name]) {
                  // After binding is set up, values
                  // in `oldObserved` will be unbound. So if a name
                  // has already be observed, remove from `oldObserved`
                  // to prevent this.
                  delete oldObserved[name];
              } else {
                  // If current name has not been observed, listen to it.
                  var obEv = newObserveSet[name];
                  obEv.obj.bind(obEv.event, onchanged);
              }
          }
docs: This will be optimized.