//@source http://code.eligrey.com/object.watch/0.0.1/object-watch.js
if(!Object.prototype.watch){Object.prototype.watch=function(f,b){var c=this[f],d=c,a=function(){return d},e=function(g){c=d;return d=b.call(this,f,c,g)};if(delete this[f]){if(Object.defineProperty){Object.defineProperty(this,f,{get:a,set:e})}else{if(Object.prototype.__defineGetter__&&Object.prototype.__defineSetter__){Object.prototype.__defineGetter__.call(this,f,a);Object.prototype.__defineSetter__.call(this,f,e)}}}}}if(!Object.prototype.unwatch){Object.prototype.unwatch=function(b){var a=this[b];delete this[b];this[b]=a}};

