В принципе можно сделать вот так, но зачем.....
Observer.prototype.changed = function() {
var observers = this.observers;
var clone = this.clone;
var target = this.target;
if (Object.keys(target).length !== Object.keys(clone).length) this._return(true);
for (var key in target) if (target[key] !== clone[key]) this._return(true);
for (key in observers) if (observers[key].changed()) return true;
return this._return(false)
};
Observer.prototype._return = function(value) {
this.rememberState();
return value;
};