pulled initialization away from the constructor so the object can be reinitialized
Using the message queue sorter
thinking about a protocol