Don't require passing in System.stacktrace
Extract payload logic to own module
Make Payload a struct