There's a bit of rework involved in that.  Got some of the ground work done already, but it wouldn't be available as quickly as I'd hoped.  The mechanism can be reused though, as long as we don't block -- which is not a problem from a user-level utility who's expecting to explicitly probe the monitor and wouldn't mind much getting hung waiting for a reply.

Not sharing the messenger is just simpler, logic-wise, and would allow, for instance. to spawn a thread using the same MonClient, calling this function and be sure that said function would not affect the rest of the client's operation while waiting for a response.  Do you think this is not a sound rationale?