Added "event" to Message to allow differentiation.
Finished basic communicator functionality. Still needs cleanup and error handling.