Use struct pointers where possible.
Make some helper functions private.
Make channels synchronous.
Send Names reply in multiple messages.