  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class GraphicElement extends OnDemandEventDispatcher
+public class GraphicElement extends EventDispatcher
     implements IGraphicElement, IInvalidating, ILayoutElement, IVisualElement, IID
 {
     include "../../core/Version.as";

            var rectBounds:Rectangle = displayObject.getBounds(useLocalSpace ? displayObject.parent : topLevel); 
            var bitmapData:BitmapData = new BitmapData(rectBounds.width, rectBounds.height, transparent, fillColor);
                
            var m:Matrix = useLocalSpace ? displayObject.transform.matrix : displayObject.transform.concatenatedMatrix;
            
            if (m)
                m.translate(-rectBounds.x, -rectBounds.y);

     */ 
    private function setTransform(value:flash.geom.Transform):void
    {
        // Clean up the old transform
        var oldTransform:mx.geom.Transform = _transform as mx.geom.Transform;
        if (oldTransform)
        	oldTransform.target = null;

        var newTransform:mx.geom.Transform = value as mx.geom.Transform;

        if (newTransform)
        	newTransform.target = this;

        _transform = value;
    }
    
    public function setColorTransform(value:ColorTransform):void
    {
    	if (_colorTransform != value)
		{
			var previous:Boolean = needsDisplayObject;
			// Make a copy of the colorTransform
			_colorTransform = new ColorTransform(value.redMultiplier, value.greenMultiplier, value.blueMultiplier, value.alphaMultiplier,
												 value.redOffset, value.greenOffset, value.blueOffset, value.alphaOffset);
			
			if (displayObject && sharedIndex == -1)
            {
                displayObject.transform.colorTransform = _colorTransform;
            }
            else
            {
            	colorTransformChanged = true;
            	invalidateProperties();
                if (previous != needsDisplayObject)
                	notifyElementLayerChanged();
            }				
        }
    }
    
    /**
