Extend eventDispatcher, when?

I figured out I can dispatch my own events like this without extending:


public static const SHADE_ON:String = "SHADE_ON";

dispatchEvent(new Event(Shader.SHADE_ON));

and then somewhere else:

var sh:Shader = new Shader( 1, 0.8 );

sh.addEventListener(Shader.SHADE_ON, traceOn);
function traceon(e:Event = null):void {
    trace("shade on");
}

so when do I need to extend?