         //--------------------------------------------------------------------------
         
         /**
-         *  Displays this FormItem's label.
-         */
-        [Bindable] // compatability with Halo FormHeading itemLabel property
+         *   A reference to the visual element that displays this FormItem's label.
+         */
+        [Bindable]
         [SkinPart(required="false")]
         public var labelDisplay:TextBase;
         
-        // TODO Remove once we have a proper FormItemLayout
+        
         [SkinPart(required="false")]
         public var canvasLayout:Canvas;
         

            return _layoutColumnWidths;
        }
        
        private var _label:String;
        private var labelChanged:Boolean = false;
                
        public function get label():String
        {
            return _label;
        }
        
        public function set label(value:String):void
        {
            if (value == _label)
                return;
            
            _label = value;
            labelChanged = true;
            invalidateProperties();
            
        }
        
        override protected function partAdded(partName:String, instance:Object):void
        {
            super.partAdded(partName, instance);
            
            if (instance == labelDisplay)
            {
                labelDisplay.text = label;
            }
        }
        
        override protected function commitProperties():void
        {
            super.commitProperties();


    /**
     *  TODO
     *  - Remove implements IFormItem  
     *  - Remove canvasLayout skin part once FormItemLayout is ready
     *  - Remove measuredColumnWidths and layoutColumnWidths once 
     *    FormItemLayout and FormLayout are ready
     * 
     * 
     *  ISSUES:
     *  - Ideally this would subclass Label, but Label is not a SkinnableComponent
     *  - Should we use text or label property? (PARB says label)
     *  - What if we don't implement column spanning?
     * 
     */ 
