При создании, каждому экземпляру класса, который должен реагировать на определенное событие, передается ссылка на экземпляр EventDispatcher (всем на один и тот же экземпляр). Эти классы подписываются у него на событие. После чего в этот диспатчер, класс сообщающий об изменениях (у него тоже должна быть ссылка на этот диспатчер) диспатчит событие.