public void QueueMessage(IMessage message) { _messageQueue.Enqueue(message); if (_state == ProcessingState.Idle) { ThreadPool.QueueUserWorkItem(_processingCallback); _state = ProcessingState.ProcessingQueued; } }