Make ZMQ use a polling/non-blocking mechanism. (still slightly complex,
needs some cleanup)