Felicast
GentleFLASH
Хотелось бы избежать удаления слушателей кнопок(или самого MsgBox-a) внешним классом. Удаляется кнопка - должны удалится все ее слушатели.
Пока в голову приходит только:

Код AS3:
class MsgBox {
// Только с помощью этого метода можно будет повесить любого слушателя на любую кнопку
public function addEventListenerToButton( uiBtnID:uint, type:String, listener:Function ) {
m_listeners.push( { uiBtnID:uiBtnID, type:type, listener:listener } );
m_arrBtns[uiBtnID].addEventListener( type, listener, false, 0, true );
} // addEventListenerToButton
// Вызывается при удалении кнопок
private function RemoveAllButtonListeners() {
for( var i:uint=0; i<m_listeners.length; i++ )
m_arrBtns[m_listeners[i].uiBtnID].removeEventListener( m_listeners[i].type, m_listeners[i].listener, false, 0, true );
m_listeners = new Array();
} // RemoveAllButtonListeners
}