(function(){var defined=function(value){return value!=null};var hasOwnProperty=Object.prototype.hasOwnProperty;Object.extend({getFromPath:function(source,parts){if(typeof parts=="string"){parts=parts.split(".")}for(var i=0,l=parts.length;i<l;i++){if(hasOwnProperty.call(source,parts[i])){source=source[parts[i]]}else{return null}}return source},cleanValues:function(object,method){method=method||defined;for(var key in object){if(!method(object[key])){delete object[key]}}return object},erase:function(object,key){if(hasOwnProperty.call(object,key)){delete object[key]}return object},run:function(object){var args=Array.slice(arguments,1);for(var key in object){if(object[key].apply){object[key].apply(object,args)}}return object}})})();