checkForModifiedArray: function(key) {
		if (arrayHelpers.isArray(this[key]) ) {
			if (this[key].hash != arrayHelpers.hashArray(this[key])) {
				this[key].hash = arrayHelpers.hashArray(this[key]);
				this.dirty();
			}
		}
	},
	wrapArraysAndObjects: function(value) {
		var _this = this;
		
		if ( arrayHelpers.isArray(value) ) {
			value.hash = arrayHelpers.hashArray(value);
		} else if ( typeof value == 'object') {
			value = new MonitoredObject(value);
			value.dirty = function() {
				_this.dirty();
			}
		}	
		
		return value;
	},