Payload formatting is now performed by discrete class