Здравствуйте, в классе main открываю сокет канал

Код AS3:
static var dataChanel:FlashSocket = new FlashSocket('192.168.1.1:8080');
доступ к каналу нужен в разных классах, для отправки/приёма данных. как правильно это реализовать?
первый вариант: в классе main слушать событие MESSAGE, и уже там смотреть какая команда, и кейсом вызывать функции классов, из минусов все команды в одном классе, получается зпутанно.
второй варинт: слушать событие MESSAGE в каждом классе, и там уже смотреть предназначены они ему или нет. и сразу выполнять внутри класса. Кажется более правильным, но нормальная ли это практика слушать одно событие в разных классах таким способом?