Refactored message wrapping
Added a mixin for event publishers