Fairly massive change to move over to using GSON properly.