ModelLocator.getInstance() - это решение, я так понимаю, используется как proxy?
Вопросик по этому поводу:
Я вот тоже на событиях пытаюсь делать. А если данные лежат глубоко в одной ветке компонентов, а обработчик совсем далеко в другой - как передать исходник в обработчик? ... щас делаю через корень, что-то типа:

Код AS3:
// main.mxml
private function _initListeners():void
{
addEventListener(Constants.GET_GROUPS_LIST, _attachGroupsList);
}
private function _attachGroupsList(event:Event):void
{
event.target.dataProvider = groupsList as DataAC;
}
...
// UserForm.mxml
private function _creationCompleteHandler():void{
groupDDList.dispatchEvent(new Event(Constants.GET_GROUPS_LIST, true));
}
...
<s:DropDownList id="groupDDList" labelField="name" />
но дело в том, что приходится через корень все это дело "перекидывать", ну или через первый общий родительский узел. Как без прокси и не через корень все это можно ПРАВИЛЬНО реализовать?