dispatchEvent in "laymans" terms

Hi all
I am just trying to get my nut around event dispatchers.
I can see how they work internally but what I am trying to do is dispatch an event from a subclass back to the document class.

here is what I am trying below but the event is not firing.



package {
    import flash.display.Sprite;
    import flash.events.Event;

    public class EventDispatcherExample extends Sprite {
         
 
        public function EventDispatcherExample() {
       
            var addBut:addButton = new addButton();
            
                    addEventListener("eventName", actionHandler);

        }

        private function actionHandler(event:Event):void {
            trace("actionHandler: " + event);
        }
    }
}


Subclass is


package {


import flash.events.EventDispatcher;
import flash.events.Event;
import flash.display.*;

public class addButton extends Sprite {

public function addButton():void {

dispatchEvent(new Event("eventName", true));

    }
}
}

does anyone have a quick link or example that will show a similar technique

cheers