Extend EventMessages, and tidy codes up