Извиняюсь за непонятную формулировку. В общем проблема такая:
Есть приложение и есть модули к нему. Допустим у нас загружен модуль VideoPlayer реализующий интерфейс IVideoPlayer, и мы грузим модуль Subtitles, после загрузки в Subtitles срабатывает код наподобие такого:

Код:
mainModel.videoPlayer.addChild(this);
trace(parent as IVideoPlayer); //null
Путем экспериментов выяснил что если использовать этот интерфейс в основном приложении (т.е. он будет включен в главную swf) то все ок:

Код:
trace(parent as IVideoPlayer); //VideoPlayer
но для этого приходится использовать неудобный костыль в основном приложении:

Код:
import plugins.VideoPlayer.IVideoPlayer;
...
private function includeInterfaces():void
{
var iVideoPlayer:IVideoPlayer;
}
т.к. просто импорт еще не означает что класс будет включен при компилировании.
Собственно вопрос как сделать так чтобы нужные мне интерфейсы включались в главное приложение без их непосредственного использования?
И еще один вопрос из любопытства почти на ту же тему.
VideoPlayer.as

Код:
...
trace(getQualifiedClassName(this)); // test.video::VideoPlayer
...
Subtitles.as

Код:
mainModel.videoPlayer.addChild(this);
trace(getQualifiedClassName(parent)); // test.video::VideoPlayer
trace(parent as VideoPlayer); // null
И так происходит опять таки до тех пор пока в главную свф при компиляции не будет включен класс VideoPlayer. Почему?