This assumes that a payload dictionary has a source key.  I don't think that's in the message spec.