Since we manipulate m_activeCallbacks from both the PartitionProcessor thread and the Client callback thread(s), we need to lock around m_activeCallbacks.  If Client callbacks are ever processed on multiple threads we would also need to prevent concurrent calls to notifyOfClientResponse. Since we are already locking, we might as well hold it for the notifications as well.