Dispatch event from class scope problem

After building the following with help of previous post to the forum regarding dispatching events and delegating functions. I am stuck with the following problem.

I have 3 files.

main.fla

import classes.LevelObj;
var newLevel:LevelObj = new LevelObj();
var levelListener:Object = new Object();
levelListener.onLoaded = function(oEvent:Object) {
    trace("Level success="+oEvent.success);
}
newLevel.addEventListener("onLoaded", levelListener);
newLevel.loadLevel("leveldata.xml");

LevelObj.as

// -------------------------------------------------------------------
// DEFAULT IMPORT:
// -------------------------------------------------------------------
import mx.utils.Delegate;
import mx.events.EventDispatcher;
// -------------------------------------------------------------------
import classes.GBXML;

class classes.LevelObj {
    public var mapArray:Array;
    private var testVar:String;
    //for dispatch 
    function dispatchEvent() {};
    function addEventListener() {};
    function removeEventListener() {};
    
    function LevelObj() {
        EventDispatcher.initialize(this);
        testVar = " bla ";
    }
    
    public function loadLevel(xmlSrcPath:String) {
        trace("Loading Level:"+xmlSrcPath);
        var XObj:GBXML = new GBXML();
        var myListener:Object = new Object();
        myListener.onLoaded = function(oEvent:Object):Void {
            trace("LevelObj.XObj > "+oEvent.success);
          if (oEvent.success) {
            trace("LevelObj loaded file");
          //THIS IS WHERE I WANT TO CALL THE OTHER FUNCTION IN THIS(LevelObj) CLASS
          //when succes, convert XML to multi dim array
              xmlToArray(XObj);
          } else {
              trace("LevelObj FAILED LOADING XML");
              mapArray = [];
            // set up the event object:
              var eventObj:Object={target:this,type:"onLoaded"}
              eventObj.success = false;
              this.dispatchEvent(eventObj);
          }
        }
        XObj.addEventListener("onLoaded",myListener); 
        XObj.loadFile(xmlSrcPath);
    }
    
    private function xmlToArray(GBXMLObj:GBXML) {
        trace("xmlToArray");
        var levelNode:XMLNode = GBXMLObj.getNode("level");
        trace(levelNode.childNodes.length);
        mapArray = ["this should be filled with new level array data"];
    }
}

and GXML.as


// -------------------------------------------------------------------
// DEFAULT IMPORT:
// -------------------------------------------------------------------
import mx.utils.Delegate;
import mx.events.EventDispatcher;

class classes.GBXML {
    //declare private properties:
    private var _xml:XML;
    private var senderObj:LoadVars;
    private var loaderID:Number;
    private var startLoadingTimer:Number;
    public var loadState:String;
    //for dispatch 
    function dispatchEvent() {};
     function addEventListener() {};
     function removeEventListener() {};
    //
    //constructor
    function GBXML() {
        EventDispatcher.initialize(this); 
        trace("new GBXML");
        _xml = new XML();
        _xml.ignoreWhite = true;
        loadState = "empty";
        _xml.onLoad = Delegate.create(this, onLoadEvent);
    }
    
    private function onLoadEvent(success:Boolean):Void {
        if (success) {
            //loaded, so kill interval
            trace("GBXML loaded file");
            loadState = "finished";
            //terminate any running intervals
            clearInterval(loaderID);
            // set up the event object:
              var eventObj:Object={target:this,type:"onLoaded"}
              eventObj.success = true;
              this.dispatchEvent(eventObj);
        } else {
            trace("XML failed to load.");
            loadState = "error";
            clearInterval(loaderID);
            // set up the event object:
              var eventObj:Object={target:this,type:"onLoaded"}
              eventObj.success = false;
              // dispatch the event
              this.dispatchEvent(eventObj);
        }
    }

    //LOAD THE XML FILE
    public function loadFile(fileURL:String):Void {
        trace("loadFile");
        loadState = "loading";
        //terminate any running intervals
        clearInterval(loaderID);
        var currentDate:Date = new Date();
        startLoadingTimer = currentDate.getTime();
        senderObj = new LoadVars();
        senderObj.sendAndLoad(fileURL, _xml);
        this.loaderID = setInterval(this, "loadingFeedback", 100, _xml);
    }
    //the progress monitor called by setInterval
    private function loadingFeedback(xmlObj:XML):Void {
        var amtLoaded:Number = xmlObj.getBytesLoaded();
        if (amtLoaded <= 4) {
            var currentDate:Date = new Date();
            
            if ((startLoadingTimer+5000)>currentDate.getTime()){
                trace("Requesting Data...");
            } else {
                trace("Request timed out");
                loadState = "error";
                //terminate any running intervals
                clearInterval(loaderID);
            }
        } else {
            trace("Loaded: " + Math.floor(amtLoaded / 1024) + " kilobytes");
        }
    }
}

Now this runs great but in the loadLevel function of LevelObj.as, when I receive the event from the GBXML class that it has finished loading I want to call another function within the same class (LevelObj) to continue with further processing the XML data.
What I make of it, is that I am still within the scope of the myListener object. Should I use a Delegate function here to get to the function within the LevelObj scope?
And how about properties from the LevelObj scope? When doing a simple trace of some testVar I get undefined. Logical ofcourse because it is not within the same scope. But I am stuck here.

This is the part that should contain the call to the function…

myListener.onLoaded = function(oEvent:Object):Void {
            trace("LevelObj.XObj > "+oEvent.success);
          if (oEvent.success) {
            trace(testVar);
            //CALL FUNCTION HERE IN SCOPE OF LevelObj
          } else {

Any help is appreciated.