 
     /**
      *  Constructor.
-     *  @param byteCode Compiled Pixel Bender byte code as ByteArray or Class.
-     */ 
-    public function ShaderFilter(byteCode:*=null)  
+     *  @param shader Fully realized flash.display.Shader instance, or
+     *  Class representing a Shader (such as from an Embed).
+     */ 
+    public function ShaderFilter(shader:*=null)  
     {  
         super();
         eventDispatcher = new EventDispatcher();
-        this.byteCode = byteCode;         
+        this.shader = shader;         
     }  
      
     //--------------------------------------------------------------------------

    //----------------------------------
    //  shaderInstance
    //----------------------------------
    /**
     *  @private
     *  Storage for the shaderInstance property.
     */
    private var _shader:Shader;
    
    /**
     * flash.display.Shader instance (valid once byteCode is assigned).
     */  
    public function get shaderInstance():Shader
    {
        return _shader;
    }
 
    //----------------------------------
    //  byteCode
    //----------------------------------
    
    /**
     *  @private
     *  Storage for the custom filter byteCode.
     */
    private var _byteCode:*;
 
    /**
     * The shader bytecode for this Shader instance, either a Class or ByteArray
     * instance.
     */
    public function set byteCode(value:*):void
    {
        // Since our bytecode is sometimes reassigned by the
        // binding infrastructure we only initialize ourselves
        // upon the first instance.
        if (value == _byteCode)
            return;
            
        // Create our shader instance from the byteCode provided.
        if (value is ByteArray)
        {
            _shader = new Shader(value);
        }
        else if (value is Class)
        {
            var obj:* = new value();
            if (obj is Shader)
                _shader = obj as Shader; 
            else if (obj is ByteArray)
                _shader = new Shader(obj as ByteArray);
        }

        // Push any pending properties onto the new shader instance. 

 *  
 *     &lt;Label text="ABCDEF"&gt;
 *         &lt;filters&gt;
 *             &lt;ShaderFilter shader="&#64;Embed(source='shaders/spherize.pbj')"
 *                 radius="25" center_x="50" center_y="15" /&gt;
 *        &lt;/filters&gt;
 *     &lt;/Label&gt;
