public void ExecuteCallback(CompletionAcknowledgementMessage message) { if (message.ProcessingSuccessful == false) throw new FailedMessageProcessingException(message); _callbacks(message); _waitForCompletionHandle.Set(); } }