share one execution context per client instance, content type needs to now be explicit, DRY up all json related things