Creating the model

This is more or less identical to the method above - DRY.
Really you want a single private method that both newGame and makeMove call, passing in the url and data.
JSON format is not a good choice for full-on object models.