How to define events?

Hi all

  1. Adobe’s documentation says :
    [INDENT]“Events in ActionScript aren’t defined using a specific syntax. Instead, you define events in your class by using the functionality of the EventDispatcher class to keep track of event listeners and notify them of events.”
    [/INDENT]But in some Adobe’s sample files, events are defined as class properties or local variables in class methods. while we call the dispatchevent() method only one time for each event (By the way is it possible to dispatch a single event more than one time?:ponder:) and do not use the event object elsewhere in the class, what is the advantage of assigning the event to a variable? specially to a class property, specially to a public class property, while we can define and dispatch the event in a single statement like this:
    [COLOR=blue]this .dispatchEvent(new Event(Event.CHANGE,true))[/COLOR] ?

  2. The AS3 Language Reference says :
    [INDENT]"You do not normally call clone(); the EventDispatcher class calls it automatically when you redispatch an event—that is, when you call dispatchEvent(event) from a handler that is handling event. "
    [/INDENT]Why in some Adobe’s sample files the clone of an event is used as the parameter for dispatchEvent() method ( [COLOR=blue]dispatchEvent(event.clone())[/COLOR] ) instead of the event itself?