Илья Ермаков писал(а):
Так при разбиении на отдельные варианты их станет в несколько раз больше


Это плохо? Лучше все в одной куче? Лично меня напрягает разносить switch по функциям, когда он со временем становится неприлично большим.

Илья Ермаков писал(а):
а связность уменьшится...


Чего с чем?

Илья Ермаков писал(а):
Кроме того, логика обработки сообщений является внутренним делом получателя и не должна в общем случае светиться в его интерфейсе (это уж отдельный вопрос о поддержке описания протоколов).


А никто и не заставляет светиться в интерфейсе.