def METHOD_NAME(
    self,
    download_path: Path,
    manager_bin_name: str,
    engine_bin_name: str,
    engine_version: Optional[str] = None,
) -> LocalRelease:
    """Downloads the appropriate version of the kaskada-manager and kaskada-engine services.
    Args:
        download_path (Path): The local download path
        manager_bin_name (str): The name of the manager binary to save in download path
        engine_bin_name (str): The name of the engine binary to save in download path
        engine_version (Optional[str]): The engine version to download, e.g., engine@v<semantic-version>. Defaults to None for latest release.
    Raises:
        RuntimeError: unable to get release assets
    Returns:
        Tuple[str, str]: manager path and engine path
    """
    manager_name = f"kaskada-manager-{self._platform_details}"
    logger.debug(f"Looking for manager binary name: {manager_name}")
    engine_name = f"kaskada-engine-{self._platform_details}"
    logger.debug(f"Looking for engine binary name: {engine_name}")
    session = requests.Session()
    access_token = os.getenv(self.GITHUB_ACCESS_TOKEN_ENV)
    if access_token is not None:
        logger.debug("Access token set. Using Github Access token.")
        session.headers["Authorization"] = f"token {access_token}"
    repo = self._github.get_repo(f"{self.ORGANIZATION}/{self.REPO_NAME}")
    if engine_version is None:
        downloaded_release = repo.get_latest_release()
        logger.info(f"Using latest release version: {downloaded_release.tag_name}")
    else:
        downloaded_release = repo.get_release(engine_version)
        logger.info(f"Using release version: {downloaded_release.tag_name}")
    download_path = download_path / downloaded_release.tag_name
    download_path.mkdir(parents=True, exist_ok=True)
    logger.debug(f"Download path: {download_path}")
    assets = downloaded_release.get_assets()
    manager_path, engine_path = (None, None)
    for asset in assets:
        url = f"{self.ASSETS_API_ENDPOINT}/{asset.id}"
        if asset.name == manager_name:
            manager_path = self.__download(
                session,
                url,
                download_path / manager_bin_name,
                asset.name,
                file_size=asset.size,
            )
        elif asset.name == engine_name:
            engine_path = self.__download(
                session,
                url,
                download_path / engine_bin_name,
                asset.name,
                file_size=asset.size,
            )
    if manager_path is None:
        raise RuntimeError(f"unable to download manager binary: {manager_name}")
    if engine_path is None:
        raise RuntimeError(f"unable to download engine binary: {engine_name}")
    return LocalRelease(download_path, manager_path, engine_path)