Use JSONObject to package up information to send

Ultimately still uses a string for the API but goes through a JSONObject
to avoid complicated string processing stuffs! Woo!