Move all payload processing to _prepare. Closes #1211