Кроме общения непосредственно виджетов между собой, нужно было решить задачу общения старого монолитного приложения с виджетами.
Решили просто как-то просунуть ему ивент-эммитер и разрешить кидать-читать сообщения.
Сделали просто — в новом приложении с виджетами кладем ивент-эммитер в глобальную переменную, а в старом приложении достаем.
Но в такой схеме есть проблема, мы не гарантируем какой бандл загрузиться первым, старого приложения или нового.
В итоге в ивент-эммитере сделали накопление событий, а в старом приложении проверяем, если ивент-эммитера нет — ждем пару секунд и смотрим еще раз. Ну и так, пока найдем (после скольки-то попыток можно перестать и признать, что что-то пошло не так)
Не самое красивое решение — зато простое и работает ¯(ツ)/¯