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"
                }
            }
        }

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)