 			else
 				alpha = 1;
 		}
-		
-		//////////////////////////////////////////
-		// Methods
-		//////////////////////////////////////////
-		
-		override protected function createChildren():void
-		{
-			// Set up text fields only if we have a hostComponent
-			if(hostComponent != null) {
-				var tf:TextFormat = new TextFormat;
-				
-				textField = new TextField();
-				textFieldShadow = new TextField();
-				
-				tf.align = "center";
-				tf.color = getStyle("color");
-				tf.font = getStyle("fontFamily");
-				tf.size = getStyle("fontSize");
-				tf.bold = getStyle("fontWeight") == "bold";
-				textField.defaultTextFormat = tf;
-				tf.color = 0x000000;
-				textFieldShadow.defaultTextFormat = tf;
-				textFieldShadow.alpha = .20;
-				
-				addChild(textField);
-				addChild(textFieldShadow);
-			}
-			
-			if(_currentState == "down" ) {
-				if(bgImg != null) {
-					removeChild(bgImg);
-				}
-				bgImg = new Button_bg_down();
-			}
-			else {
-				if(bgImg != null) {
-					removeChild(bgImg);
-				}
-				bgImg = new Button_bg_up();
-			}
-			
-			if(bgImg != null) {
-				addChild(bgImg);
-			}
-		}
-		
+	
 		override protected function commitProperties():void
 		{
 			if(hostComponent != null) {

			colors[0] = ColorUtil.adjustBrightness2(chromeColor, 20);
			colors[1] = chromeColor;
			colors[2] = ColorUtil.adjustBrightness2(chromeColor, -20);
		
			graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, matrix);
			
			// Draw the background rectangle within the border, so the corners of the rect don't spill over into the rounded corners of the Button
			graphics.drawRect(1, 1, unscaledWidth - 2, unscaledHeight - 3);
			graphics.endFill();
			
			super.updateDisplayList(unscaledWidth, unscaledHeight);
		}
		
		override public function styleChanged(styleProp:String):void {
			// Only deal with text if a hostComponent exists and text fields are not empty
			if(hostComponent != null && textField != null && textFieldShadow != null) {
				var tf:TextFormat = textField.defaultTextFormat;
				tf.size = getStyle("fontSize");
				
				if(getStyle("fontWeight") == "bold")
					tf.bold = true ;
				else if(getStyle("fontWeight") == "normal")
					tf.bold = false;
				
				tf.color = getStyle("color");
				tf.align = "center";
				
				textField.setTextFormat(tf);
				tf.color = 0x000000;
				textFieldShadow.setTextFormat(tf);
				textFieldShadow.alpha = .20;
			}
			super.styleChanged(styleProp);
		}
		
		//////////////////////////////////////////
		// Internals
		//////////////////////////////////////////

			
			if(bgImg != null) {	
				bgImg.x = bgImg.y = 0.5;
				bgImg.width = unscaledWidth;
				bgImg.height = unscaledHeight;
			}
