Трудно дать однозначный ответ, не зная больше о вашей платформе, но я думаю, что регистрация всех ваших виджетов и прокачки сообщений с помощью некоторого класса-посредника была бы лучшим вариантом. Если вы попытаетесь распространить ваши события по иерархии, это может стать очень запутанным, и ваша логика обработки событий будет распространена повсеместно, что приведет к неуправляемому коду.