Its not a matter of how many lines of code it takes, its a question of by design where does that logic belong.  We attempt, as much as possible to encapsulate the protocol specific things.  So I'm asking the question of whether these things should be encapsulated or if protocol stuff should be leaked into other abstractions.