     public function Wipe(target:Object=null)
     {
         super(target);
-        instanceClass = WipeInstance;
-        shaderByteCode = wipeShaderCode;
+        // Note that we do not need a separate WipeInstance; the only
+        // addition that Wipe adds is specifying the Crossfade
+        // Pixel Bender shader, which is done at instance creation time,
+        // according to the value of the direction property. 
+        // Everything else needed is in the superclass already.
     }
 
     /**

     */
    override protected function initInstance(instance:IEffectInstance):void
    {
        super.initInstance(instance);
        
        var wipeInstance:WipeInstance = WipeInstance(instance);
        wipeInstance.direction = direction;
    }
    
}

 */
public class Wipe extends AnimateTransitionShader
{
    [Embed(source="WipeUp.pbj", mimeType="application/octet-stream")]
    private static var WipeUpShaderClass:Class;
    private static var wipeUpShaderCode:ByteArray = new WipeUpShaderClass();
    [Embed(source="WipeDown.pbj", mimeType="application/octet-stream")]
    private static var WipeDownShaderClass:Class;
    private static var wipeDownShaderCode:ByteArray = new WipeDownShaderClass();
    [Embed(source="WipeRight.pbj", mimeType="application/octet-stream")]
    private static var WipeRightShaderClass:Class;
    private static var wipeRightShaderCode:ByteArray = new WipeRightShaderClass();
    [Embed(source="WipeLeft.pbj", mimeType="application/octet-stream")]
    private static var WipeLeftShaderClass:Class;
    private static var wipeLeftShaderCode:ByteArray = new WipeLeftShaderClass();
    
    
    [Inspectable(enumeration="left,right,up,down", defaultValue="right")]
