TODO: Create distinct message class for each message type