Payload refactor

See: https://rbcommons.com/s/twitter/r/1063/