Здравствуйте. Хочу сделать все не как всегда, а правильно. Итак, есть контроллер

Код AS1/AS2:
package
{
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Controller extends Sprite
{
public var view:View;
public var xmlWohnungen;
public function Controller()
{
this.addEventListener(Event.ADDED_TO_STAGE,init);
}
private function init(event:Event):void
{
view = new View;
this.addChild(view);
xmlWohnungen = new XMLLoader();
}
}
}
Есть View, оно все отображает,
и есть XMLLoader, он же парсер, из него пойдут данные в Модель :

Код AS1/AS2:
package
{
import flash.xml.*;
import flash.events.*;
import flash.net.*;
public class XMLLoader
{
public var xmlDaten:XML;
public var xmlDateiDaten:URLLoader;
public var myURLRequest:URLRequest;
public function XMLLoader()
{
xmlDateiDaten = new URLLoader();
myURLRequest = new URLRequest();
myURLRequest.url = "data.xml";
xmlDateiDaten.load(myURLRequest);
xmlDateiDaten.addEventListener(Event.COMPLETE, weiter);
}
private function weiter(e:Event)
{
xmlDaten = new XML(e.target.data);
}
}
}
Задача такая, чтобы после загрузки XML подать сигнал в контроллер, что можно посылать информацию во View. Понимание такое, что надо написать dispatchEvent в XMLLoader и отловить его в контроллере. Вроде просто, но самому никак в первый раз не написать.
Помогите пожалуйста с dispatchEvent в XMLLoader и addEventListener в контроллере.
P.S: 1. Я знаю, что можно сделать проще и хитрее, но хочется сделать "по правилам".
2. Материалы по MVC на форуме читал, но не смог приспособить(угадал все буквы, но слово сложить не смог)