 		// and icons are Shapes, because Shapes never dispatch mouse events;
 		// they are dispatched from the Button in this case.)
 		mouseChildren = false;
+		
+		// add event listeners to the button
+		addHandlers();
 	}	
 	
 	[Bindable("labelChanged")]

		// since instance handlers are registered before base class handlers.
		addEventListener(MouseEvent.CLICK, mouseEventHandler, true /*useCapture*/);
		addEventListener("enabledChanged", enableChangedHandler);
	}
	
	override protected function unloadingSkin():void
	{
		super.unloadingSkin();
		
		removeEventListener(MouseEvent.ROLL_OVER, mouseEventHandler);
		removeEventListener(MouseEvent.ROLL_OUT, mouseEventHandler);
		removeEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler);
		removeEventListener(MouseEvent.MOUSE_UP, mouseEventHandler);
		removeEventListener(MouseEvent.CLICK, mouseEventHandler, true);
		removeEventListener("enabledChanged", enableChangedHandler);
	}
	
	private function addSystemMouseHandlers():void

	//
	//--------------------------------------------------------------------------

	protected function addHandlers():void
	{
		addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler);
		addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler);
		addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler);
