 			model = new DynamicModel(this);
 			model.validate_mouseChildren = validateMouseChildren;
 			model.validate_mouseEnabled = validateMouseEnabled;
+			model.validate_mask = validateMask;
 
 			children = new SelectableList();
 			childrenHash = new Dictionary();

			return model.visible;
		}
		
		public function set mouseChildren(mouseChildren:Boolean):void {
			model.mouseChildren = mouseChildren;
		}
		
		public function get mouseChildren():Boolean {
			return model.mouseChildren;
		}
		
		protected function validateMouseChildren(newValue:*, oldValue:*):void {

			}
			return null;
		}

		public function every(callback:Function, thisObject:* = null):Boolean {
			return children.every(callback, thisObject);
		}
		
		public function filter(callback:Function, thisObject:* = null):Array {
			return children.filter(callback, thisObject);
		}
		
		public function forEach(callback:Function, thisObject:* = null):void {
			children.forEach(callback, thisObject);
		}
		
		public function map(callback:Function, thisObject:* = null):Array {
			return children.map(callback, thisObject);
		}
				
		public function get numChildren():int {
			return children.length;
		}
