There are some aspects of the code in the protocol subdirectory that have references to zmq from outside the subdirectory. The desire is for the zmq-specific aspects to be wholly contained within the protocol subdirectory; this will require establishing unique exceptions that can be caught in other mKTL code rather than relying on zmq exceptions.