docs: def create_new_space(self, space_definition, callback=None):
          """
          Creates a new Space.
  
          The incoming Space does not include an id, but must include a Key and Name, and should include a Description.
          :param space_definition (dict): The dictionary describing the new space. Must include keys "key", "name",
                                          and "description".
          :param callback: OPTIONAL: The callback to execute on the resulting data, before the method returns.
                           Default: None (no callback, raw data returned).
          :return: The JSON data returned from the space endpoint,
                   or the results of the callback. Will raise requests.HTTPError on bad input, potentially.
  
          Example space data:
          {
              "key": "TST",
              "name": "Example space",
              "description": {
                  "plain": {
                      "value": "This is an example space",
                      "representation": "plain"
                  }
              }
          }
          """
          assert isinstance(space_definition, dict) and {"key", "name", "description"} <= set(space_definition.keys())
          return self._service_post_request("rest/api/space", data=json.dumps(space_definition),
                                            headers={"Content-Type": "application/json"}, callback=callback)