Выглядит как
PubSub-задача. Допустим у нас есть карта "Король гоблинов" 5/5 таунт, класс - гоблины.
Когда мы кладем ее на стол она ( в смысле соответствующий объект ) отписывается от канала "для тех, кто лежит в руке" и подписывается на каналы "Лежим на столе", "Класс - гоблины", "Карты с таунтом" и тэ дэ.
И посылает в соответствующие каналы сообщение - "Я 5/5 гоблин пришел на стол на такую-то позицию".
Таким образом мы можем баффать гоблинов, уничтожать вражеские таунты или баффать соседей по столу без перебора всех карт. Ну и добавление новых эффектов тоже с меньшей болью происходит