Трейты/тайпклассы нарушают семантическую локальность только в вопросе «откуда берётся функция», а имплиситы ещё и в вопросе «а что это вообще за функция»
Сырой кролик все равно никто не использует адекватный. Берил какой нибудь фреймворк к нему. MassTransit рекомендую. А там уже либо команды либо события и роутинг по типам да эндпоинтам. Короче, сразу гугли как это в MassTransit делать.
Хех. Я тоже когда был начинающий и глупый использовал сырой кролик. И ретраи через Polly делал и самодельные Саги и прочее в этом духе. Потом я поумнел и начал работать с ним через готовый фреймворк. В котором готовые механизмы для большинства задач и решения для большинства проблем уже есть и не надо писать свои велосипеды.