to distinguish between `payloads.Offer` and `payloads.Offer.offer` we always use `offerMsg` as a variable name for the former.