!function(e){"use strict";var t=function(e,t,r){var o=e[t],n=o,i=function(){return n},f=function(i){if(i!==n){o=n;n=i;r.call(e,t,o,n)}};if(delete e[t]){if(Object.defineProperty){Object.defineProperty(e,t,{get:i,set:f,configurable:true,enumerable:true})}else if(Object.prototype.__defineGetter__&&Object.prototype.__defineSetter__){Object.prototype.__defineGetter__(e,t,i);Object.prototype.__defineSetter__(e,t,f)}}return this};var r=function(e,t){var r=e[t];delete e[t];e[t]=r;return this};e.lookout=function(e,r,o){if(!e)throw new Error("You must specify an object to watch.");if(!r)throw new Error("You must specify an object to watch and a callback.");var n=null,i;if(typeof r==="function"){for(n in e){if(e.hasOwnProperty(n)){t(e,n,r)}}}else{if(typeof r==="string")r=[r];for(i=0;n=r[i];i++){e[n]&&t(e,n,o)}}return this};e.disregard=function(e){if(e){for(var t in e){if(e.hasOwnProperty(t)){r(e,t)}}}else{throw new Error("You must specify an object to disregard.")}return this}}(typeof window!=="undefined"?window:module.exports);