has immutable _type that defaults to event
can set _type on create
sets _type before beforeCreate
creates event() as default message emitter if none defined