Reorganize common types into single header.
Initial implementation of message queue.
Add working implementation of message queue.
Update documentation.