 			return model.downState;
 		}
 		
-		protected function validateDownState(newValue:*, oldValue:*):void {
-			buttonView.downState = newValue;
-		}
-
 		public function set hitTestState(hitTestState:DisplayObject):void {
 			model.hitTestState = hitTestState;
 		}

			return model.overState;
		}
		
		protected function validateOverState(newValue:*, oldValue:*):void {
			buttonView.overState = newValue;
		}

		public function set downState(downState:DisplayObject):void {
			model.downState = downState;
		}

			if(!hitTestState) {
				hitTestState = upState;
			}
			if(!overState) {
				overState = upState;
			} 
			if(!downState) {
				downState = overState || upState;
			}
		}
		
		override protected function updateDisplayList(w:Number, h:Number):void {
			updateSize(w, h);
			super.updateDisplayList(w, h);
		}
		
		protected function updateSize(w:Number, h:Number):void {
			buttonView.width = w;
			buttonView.height = h;
		}
		
		public function set upState(upState:DisplayObject):void {
