removeObserver: function(changeTypes, pathPatterns, observerFunction, observerContext) {
            if (TypeUtil.isArray(pathPatterns)) {
                var observerSet = this.factoryObservers(pathPatterns, observerFunction, observerContext);
                this.detachObserversFromTypes(changeTypes, observerSet);
            } else {