Подскажите плиз - есть такой код (картинка нормально подгружается но обработчик onRelease не работает

)

Код:
var loader_mcl:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
loader_mcl.addListener(listener);
set_thumbnail();
function set_thumbnail( )
{
this.createEmptyMovieClip("img_thumb", 0);
loader_mcl.loadClip("suse10_t.jpg", this.img_thumb);
}
trace("img_thumb = " + this.img_thumb._name);
this.img_thumb.onRelease = function()
{
trace("Release entered");
}
listener.onLoadInit = function(target_mc:MovieClip) {
target_mc._x = 544;
target_mc._y = 107;
}
вывод проги:

Код:
img_thumb = img_thumb
- т.е. объект существует - по идее должен присваиватся обрабтчик сообщений и работать.
Причем если я обрабтчик размещаю в onLoadInit подобным образом

Код:
listener.onLoadInit = function(target_mc:MovieClip) {
target_mc._x = 544;
target_mc._y = 107;
target_mc.onRelease = function()
{
trace("Release entered");
}
}
то все работает - но не могу понять почему - объясните плиз - никак не могу врубится в логику работы флэша не говоря уже о том, что конструкции с вложенными функциями выглядят жуть как некрасиво имхо... Неаккуратненько как то
Желательно если укажете мне место в хелпе или статью какую (можно на инглиш) где прямо написанно почему работает так а не этак...