AS3: Creating a custom Event Class

Could anyone tell me how to create custom event from beginning to end in AS3?

I’d like to know how to create a custom event that extends the Event class and then how to dispatch it. Also, I’d like to know how to catch it using the addEventListener() in the format Event.ENTER_FRAME or Event.CHANGE etc…

I’m having some difficulty understanding how events work. I believe “ENTER_FRAME” is a constant holding some value but I don’t see how that could dispatch an event. From what I understand; ENTER_FRAME is a static variable of the Event class?

Could someone clarify things plz.

Thanks a bunch.