Should call this something other than Message, since it has a Message field. Reads weird to me. How about we call it Event ?