Maybe I'm stuck with this operation thinking, but in QNAM style API wouldn't we need same kind of class hierarchy for replies? Surely we don't want to pass raw reply data to caller (at least in c++ API) so we would need specialized reply classes that can give back operation type specific data. For example from query reply you would get list of objects and from permission operation reply you would get updated permission list object.

Also wouldn't same ownership questions be transferred from operation object to this reply object?