      *  @playerversion AIR 2.5 
      *  @productversion Flex 4.5
      */
-    public var symbolIcon:Object;
+    private var _symbolIcon:DisplayObject;
+    
+    /**
+     *  Read-only button symbol graphic. Use commitCurrentState() to specify
+     *  a symbol graphic per-state.
+     * 
+     *  @see #commitCurrentState()
+     */
+    public function get symbolIcon():DisplayObject
+    {
+        return _symbolIcon;
+    }
     
     //--------------------------------------------------------------------------
     //

        graphics.endFill();
        
        // position the symbols to align with the background "icon"
        if (symbolIcon)
        {
            var currentIcon:DisplayObject = getIconDisplay();
            setElementPosition(symbolIcon, currentIcon.x, currentIcon.y);
        }
    }
}

            setIcon(currentStateIconClass);
            
            // swap symbol based on selection state
            var hasSymbol:Boolean = (_symbolIcon) && contains(_symbolIcon);
            
            // remove the old symbol
            if (hasSymbol)
