initialize methods now take the JSON object.

As such they have been made private. To construct an object using a
JSON object, use the from_json method so calls can be correctly wrapped
in the future.