call .to_json automatically on payload as appropriate