Refactor method signature for payload params

As part of making this emitter easier to use, I have added some basic
documentation and have collapsed the parameters associated with the
message payload