How do I call RemoveEventListener()?

I have a firework class, which fades over time and finally removes itself from the display parent.


package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.EventDispatcher;
 
public class Firework_mc extends MovieClip {
private var lifetime:int; // lifetime, measured in age events
 
public function Firework_mc( r:Number, lifetime:int ){
width = r * 2;
height = r * 2;
this.lifetime = lifetime;
addEventListener( Event.ENTER_FRAME, fade );
}
 
private function fade( event:Event ):void {
alpha -= 1 / lifetime;
if ( alpha <= 0 ){
parent.removeChild( this );
}
}
}
} 

However, the EnterFrame event listener stays around, so after a Firework_mc removes itself from the display, I get the following error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Firework_mc/::fade()

What is the syntax for removing the EnterFrame listener? I have looked around and attempted to use EventDispatcher.removeEventListener( Event.ENTER_FRAME, this ); but it gives me the following error:
1061: Call to a possibly undefined method removeEventListener through a reference with static type Class.

Thanks in advance.