Added an enum type for the message, updated the message class to report on it's type and create messages. Updated the tests at the same time