             // and make sure verticalAlign is operating on a correct value.
             labelWidth = Math.max(labelComponentsViewWidth, 0);
             labelHeight = Math.max(Math.min(viewHeight, labelTextHeight), 0);
-                        
-            labelDisplay.width = labelWidth;
-            labelDisplay.height = labelHeight;
-            
-            labelDisplay.x = Math.round(labelComponentsX);
-            labelDisplay.y = Math.round(paddingTop);
+            resizeElement(labelDisplay, labelWidth, labelHeight);
             
             // attempt to truncate text
             labelDisplay.truncateToFit();
         }
-        
+
         if (messageDisplay)
         {
             // handle message
             // don't use the measured text width or height because that only takes the first line in to account
             messageWidth = Math.max(labelComponentsViewWidth, 0);
             messageHeight = Math.max(viewHeight - labelHeight - verticalGap, 0);
-            
-            messageDisplay.width = messageWidth;
             // FIXME (rfrishbe): we should check to see if this causes textHeight to change because then we 
             // might need to remeasure
-            messageDisplay.height = messageHeight;
+            resizeElement(messageDisplay, messageWidth, messageHeight);
             
             // FIXME (rfrishbe): figure out if this is right with regards to multi-line text.
             // For instance, if the text component spans to 2 lines but only shows one line, then textHeight here 

            // displayed lines.
            messageHeight = Math.min(messageHeight, messageDisplay.textHeight + UITextField.TEXT_HEIGHT_PADDING);
            
            messageDisplay.x = Math.round(labelComponentsX);
            messageDisplay.y = Math.round(paddingTop + labelHeight + verticalGap);
            
            // since it's multi-line, no need to truncate
            //if (messageDisplay.isTruncated)
            //    messageDisplay.text = messageText;
            //messageDisplay.truncateToFit();
        }
        
        // revisit y positions now that we know all heights so we can respect verticalAlign style
        if (getStyle("verticalAlign") == "top")
        {
            // don't do anything...already aligned to top in code above
        }
        else if (getStyle("verticalAlign") == "bottom")
        {
            if (iconDisplay)
                iconDisplayHolder.setLayoutBoundsPosition(paddingLeft, unscaledHeight - iconHeight - paddingBottom);
            if (messageDisplay)
                messageDisplay.y = unscaledHeight - paddingBottom - messageHeight;
            if (labelDisplay)
                labelDisplay.y = unscaledHeight - paddingBottom - messageHeight - verticalGap - labelHeight;
        }
        else //if (getStyle("verticalAlign") == "middle")
        {
            if (iconDisplay)
                iconDisplayHolder.setLayoutBoundsPosition(paddingLeft, Math.round((unscaledHeight - iconHeight)/2));
            var textTotalHeight:Number = labelHeight + messageHeight + verticalGap;
            if (labelDisplay)
                labelDisplay.y = Math.round((unscaledHeight - textTotalHeight)/2);
            if (messageDisplay)
                messageDisplay.y = Math.round((unscaledHeight - textTotalHeight)/2 + verticalGap + labelHeight);
        }
        // made "middle" last even though it's most likely so it is the default and if someone 
        // types "center", then it will still vertically center itself.
    }
    
    //--------------------------------------------------------------------------

        
        // don't forget the extra gap padding if these elements exist
        if (iconDisplay)
            labelComponentsViewWidth -= horizontalGap;
        if (decoratorDisplay)
            labelComponentsViewWidth -= horizontalGap;
        
        var labelComponentsX:Number = paddingLeft;
        if (iconDisplay)
            labelComponentsX += iconWidth + horizontalGap;
        
        // calculte the natural height for the label
        var labelTextHeight:Number = 0;
