     /**
      *  A reference to the Grid that displays the dataProvider.
      */
-    public var grid:spark.components.Grid;
+    public var grid:spark.components.Grid;    
+    
+    //----------------------------------
+    //  headerColumnSeparator
+    //----------------------------------
+    
+    [Bindable]
+    [SkinPart(required="false", type="mx.core.IFactory")]
+    
+    /**
+     *  Used to render the vertical separator between column headers.
+     */
+    public var headerColumnSeparator:IFactory;
+
+    //----------------------------------
+    //  hoverIndicator
+    //----------------------------------
+    
+    [Bindable]
+    [SkinPart(required="false", type="mx.core.IFactory")]
+    
+    /**
+     *  Used to provide mouse hover feedback.
+     */
+    public var hoverIndicator:IFactory;
+    
+    //----------------------------------
+    //  rowSeparator
+    //----------------------------------
+    
+    [Bindable]
+    [SkinPart(required="false", type="mx.core.IFactory")]
+    
+    /**
+     *  Used to render the horizontal separator between rows.
+     */
+    public var rowSeparator:IFactory;
     
     //----------------------------------
     //  scroller
     //----------------------------------
     
+    [Bindable]
     [SkinPart(required="false", type="spark.components.Scroller")]
     
     /**
      *  A reference to the Scroller that scrolls the grid.
      */
-    public var scroller:Scroller;
-    
-    //----------------------------------
-    //  alternatingRowColorsBackground
-    //----------------------------------
-    
+    public var scroller:Scroller;    
+    
+    //----------------------------------
+    //  selectionIndicator
+    //----------------------------------
+    
+    [Bindable]
     [SkinPart(required="false", type="mx.core.IFactory")]
     
     /**
-     *  A reference to IVisualElement used to render the alternatingRowColors style
-     */
-    public var alternatingRowColorsBackground:IFactory;
+     *  Used to render selected rows or cells.
+     */
+    public var selectionIndicator:IFactory;
     
     /**
      *  @private

    {
        if (setGridProperty("itemRenderer", value))
            dispatchChangeEvent("itemRendererChanged");
    }    
    
    //----------------------------------
    //  preserveSelection (delegates to grid.preserveSelection)

            // Deferred operations (grid selection updates)
            
            for each (var deferredGridOperation:Function in deferredGridOperations)
                deferredGridOperation(grid);
            deferredGridOperations.length = 0;
        }
        
        if (instance == alternatingRowColorsBackground)
            initializeGridRowBackground();
        
        if (grid)
        {
            if (instance == columnSeparator) 
                grid.columnSeparator = columnSeparator;

            if (instance == rowSeparator) 
                grid.rowSeparator = rowSeparator;

            if (instance == hoverIndicator) 
                grid.hoverIndicator = hoverIndicator;

            if (instance == caretIndicator) 
                grid.caretIndicator = caretIndicator;

            if (instance == selectionIndicator) 
                grid.selectionIndicator = selectionIndicator;
        }
        
        if (instance == columnHeaderBar)
        {
            columnHeaderBar.owner = this;
            columnHeaderBar.columnSeparator = headerColumnSeparator;
        }
        
        if (columnHeaderBar)
        {
            if (instance == headerColumnSeparator)
                columnHeaderBar.columnSeparator = headerColumnSeparator;
        }
    }
    
    /**
