      */
     public function set text(value:String):void
     {
-        if (value == _text)
-            return;
-        
-        // If the textView is telling us about the change we don't want
-        // to proxy the text to it.
-        if (proxyText)
+        if (textView)
         {
             textView.text = value;
             textViewProperties = BitFlagUtil.update(
                 uint(textViewProperties), TEXT_PROPERTY_FLAG, true);
         }
-           
-        // Always keep this current, even if using the textView.    
-        _text = value;
-        
-        mx_internal::textInvalid = false;
+        else
+        {
+            textViewProperties.text = value;
+        }
 
         invalidateProperties();                    
      }

                SELECTION_VISIBILITY_PROPERTY_FLAG, true);
        }
            
        // Text is special.            
        if (_text != null)
        {
            textView.text = _text;
            newTextViewProperties = BitFlagUtil.update(
                uint(newTextViewProperties), TEXT_PROPERTY_FLAG, true);
        }

     */
    public function get text():String
    {
        if (textView)
            return textView.text;
            
        // want the default to be the empty string
        var v:* = textViewProperties.text;
        return (v === undefined) ? "" : v;
    }

    /**
