Split out Job and JSON decoding / encoding