def _create_experiment_unit(
      self, args: Optional[Mapping[str, Any]],
      role: ExperimentUnitRole) -> Awaitable[ExperimentUnit]:
    """Creates a new experiment unit.

    Synchronously starts the experiment unit creation, ensuring that IDs would
    be assigned in invocation order. The operation itself may run asynchronously
    in background.

    Args:
      args: Executable unit arguments, to be show as a part of hyper-parameter
        sweep.
      role: Executable unit role: whether to create a work or auxiliary unit.

    Returns:
      An awaitable to the creation result.
    """
    raise NotImplementedError