[WIP] Request Based Processor

### Problem

**Processor** needs to be able to consume messages from a request instead of from a queue.

### Solution

Extract the current functionality out into a `QueueBasedProcessor`, and then create a new `RequestBasedProcessor`.

![batman_lego.gif](http://media.giphy.com/media/JJhiRdcYfcokU/giphy.gif)