 		// 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

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

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

		// 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")]
