Здравствуйте.
Научился диспатчить и слушать собственные события, но не могу понять, как слушателю передавать какие-либо данные.
Допустим есть класс Users - который загружает данные (VK API), после загрузки - диспатчит событие.
Класс Main слушает данное событие.
На данный момент я получаю данные так, но понимаю что это "гав**код".
Как правильно получать данные в мейне, которые загрузил метод Get() класса Users?
Users:

Код AS3:
package Source.api
{
import flash.net.*;
import flash.events.*;
import source.parser.json.JSON;
public class Users extends EventDispatcher
{
private static var uid:String = Main.uid;
private static var accessToken:String = Main.accessToken;
public var data:Object;
public static const LOAD_COMPLETE:String = 'loadComplete';
public function Users()
{
}
public function Get()
{
var urlLoader:URLLoader = new URLLoader();
var request = new URLRequest('https://api.vk.com/method/users.get?uids=' + uid + '&fields=online,photo_50,status');
urlLoader.load(request);
urlLoader.addEventListener(Event.COMPLETE,completeHandlerUrlLoader);
function completeHandlerUrlLoader(e:Event):void
{
data = JSON.decode(urlLoader.data).response[0];
dispatchEvent(new Event(Users.LOAD_COMPLETE));
}
}
}
}
Main:

Код AS3:
package
{
import flash.display.MovieClip;
import flash.events.*;
import flash.display.Stage;
import flash.events.EventDispatcher;
import Source.Api.Users;
public class Main extends MovieClip
{
public static var mc:Stage;
public static var accessToken:String;
public static var uid:String;
public function Main()
{
mc = stage;
accessToken = '54gcb3cac27c01ebf7e030c98f3b3eb04385ca36c59e52d61106aef5a6fd43275ca754e76cb659d2a0';
uid = '161013291';
var users:Users = new Users();
users.addEventListener(Users.LOAD_COMPLETE,loadedHandler);
users.Get();
function loadedHandler(e:Event)
{
trace(users.data);
}
}
}
}