         if (enabled && editable && focusManager)
             focusManager.showFocusIndicator = true;
 
+        invalidateSkinState();
+        
         super.focusInHandler(event);
     }
  
+    /**
+     *  @private
+     */
+    override protected function focusOutHandler(event:FocusEvent):void
+    {
+        if (event.target == this)
+            return;
+        
+        invalidateSkinState();
+        
+        super.focusOutHandler(event);
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Event handlers

        invalidateProperties();                    
    }

	//----------------------------------
	//  tabIndex
	//----------------------------------

    {
        super.partAdded(partName, instance);

        if (instance == promptDisplay)
        {
            var newPromptDisplayProperties:uint = 0;
            if (promptDisplayProperties.prompt !== undefined)
            {
                promptDisplay.text = promptDisplayProperties.prompt;
                newPromptDisplayProperties = BitFlagUtil.update(
                    uint(newPromptDisplayProperties), PROMPT_TEXT_PROPERTY_FLAG, true);
            }
            promptDisplayProperties = newPromptDisplayProperties;
        }
        
        if (instance == textDisplay)
        {
            // Copy proxied values from textDisplayProperties (if set) to 
