Create abstraction for MessageQueue so we can try various implementations instead of just LinkedBlockingQueue.
Create abstraction for MessageQueue so we can try various implementations instead of just LinkedBlockingQueue.