¿Cómo llamar a una función en una clase de otra clase?

Actualización: Título modificado para reflejar mejor mi pregunta

Hola a todos :)

Mi pregunta de hoy gira en torno a un evento personalizado que estoy intentando enviar de una subclase a otra.

He usado mi clase CustomEvent para pasar una multa de una clase secundaria a mi clase principal, pero no estoy seguro de quién debe hacer eso entre las subclases.

Mi clase de evento personalizado

package src.events {
import flash.events.Event;

public class CustomEvent extends Event 
{
    public static const CHANGE:String="onChange";
    public static const COMPLETE:String="onComplete";
    public static const IMAGE_LOADED:String="onImageLoaded";
    public static const SWF_LOADED:String="onSWFLoaded";
    public static const SWF_UNLOAD:String="onSWFUnload";
    public static const CLICK:String="onClick";
    public static const PAUSE_MOVIE:String="onPause";
    public static const INTRO_CLICKED:String="introClicked";

    public var params:Object;

    public function CustomEvent(type:String, params:Object, bubbles:Boolean = false, cancelable:Boolean = false)
    {
        super(type, bubbles, cancelable);
        this.params=params;
    }

    public override function clone():Event 
    {
        return new CustomEvent(type, this.params, bubbles, cancelable);
    }

    public override function toString():String 
    {
        return formatToString("CustomEvent","params","type","bubbles","cancelable");
    }

}

Subclase INTRO - evento de despachos

package src.display {

import gs.easing.*;
import gs.TweenLite;
import flash.text.*;
import flash.events.*;
import flash.display.*;
import flash.geom.Matrix;
import flash.geom.ColorTransform;

// ☼ ----------------------------------------- Imported Custom Classes
import src.events.CustomEvent;

// ☼ ----------------------------------------- Intro Class
public class Intro extends Sprite 
{
    private var playBtn:MovieClip;

    // ☼ ----------------------------------------- Constructor
    public function Intro():void 
    {
        this.addEventListener(Event.ADDED_TO_STAGE, init);
    }

    // ☼ ----------------------------------------- Init
    public function init(event:Event):void 
    {
        draw();
    }

    public function draw():void 
    {           
        playBtn = new PlayThumb;
        playBtn.buttonMode = true;
        playBtn.x = 582;
        playBtn.y = 259;
        playBtn.alpha = 1;

        addChild(playBtn);

        playBtn.addEventListener(MouseEvent.MOUSE_UP, clicked);
    }

    private function clicked(e:MouseEvent):void 
    {
        trace("clicked big play");
        dispatchEvent (new CustomEvent(CustomEvent.INTRO_CLICKED, {}));
        trace("event = "+CustomEvent.INTRO_CLICKED);
    }

}

Navegación de subclase - donde estoy escuchando el evento Necesito llamar a esta función dentro de la clase de navegación:

function introPlayButtonClick(e:CustomEvent):void
        {
            trace("introPlayButtonClick called");

            TweenLite.to(buttons[0], 1, {y:20, ease:Strong.easeOut});
            TweenLite.to(buttons[1], 1, {y:navBtnY, ease:Strong.easeOut});
            TweenLite.to(introTab, 1, {y:60, ease:Strong.easeOut});
            TweenLite.to(scrollerMov, 1, {y:60, ease:Strong.easeOut});
            $btn1 = true;
            $btn2 = false;

            trace("introPlayButtonClick called --- end");
        }

Ok, entonces creo que mi problema radica en La clase de navegación, ¿cómo agrego correctamente el addEventListener aquí? No obtengo ninguno de los rastros en mi función introPlayButtonClick.

Cómo funcionó en mi clase principal con el evento PAUSE_MOVIE, se adjuntó el eventListener a la clase de navegación a través del nombre de variable nv:

nv.addEventListener("onPause", pauseMovie); // Inside of MAIN class

Pero como estoy agregando el detector de eventos dentro de la clase de navegación para el evento INTRO_CLICKED, pensé que todo lo que necesitaba era(esta.) Agregado, pero hasta ahora no estoy logrando que ese evento se dispare.

¿Alguna idea, consejos, pensamientos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta