#5 custom payload support

#5 Adds custom payload support

docs need to be updated still.
Oops. I was going through some other approaches and this is residual. Will revert.