Addresses @tomek's feedback here: https://phab.comm.dev/D5127#150659
Basically cuts a bunch of redundant code and just branches where the two request payloads vary (mediaIDs vs mediaMessageContents)
Thought it was simpler to put up a refactor diff rather than go back and change D5127, hope that's okay.
Depends on D5127