Tweaked message publish to be dynamic.

* This allows for the event to be published as its own type and not of
type IEvent (which is the type of the property Message which is
published).