Мне нравится, какая у меня получилась тестабельная архитектура
Несмотря на то, что используется обертка над API, я выделила свой слой для работы с ней, и могу отнаследоваться от общего алгоритма, и подменить этот слой чтобы работать вместо биржи со словарями и очередями прямо в памяти (контроллируемыми кодом тестов)
ещё напишу дженерик тестер чтобы описывать последовательность отправляемых/ожидаемых событий, и вообще красиво будет