Changed up sender

Now the JSON structure is enforced and the call sites
are able to be strongly typed to JSON at compile time
and look prettier.