public async void GetAllLobbies()
    {
        GetAllLobbiesResponse getAllLobbiesResponse = await lobbyService.GetAllLobbies();

        foreach (LobbyDto lobby in getAllLobbiesResponse.LobbyDtos)
        {
            GameObject lobbyButtonObject = Instantiate(lobbyButtonPrefab);
            lobbyButtonObject.GetComponent <Button>().onClick.AddListener(() => JoinLobby(lobby.Name));

            lobbyButtonObject.transform.SetParent(allLobbiesContent.transform, false);
            lobbyButtonObject.transform.Find("Text").gameObject.GetComponent <Text>().text = lobby.Name;
        }
    }
    public async Task <GetAllLobbiesResponse> GetAllLobbies()
    {
        MessageListener <GetAllLobbiesResponse> getAllLobbiesResponseListener = new MessageListener <GetAllLobbiesResponse>();

        getAllLobbiesResponseListener.Subscribe(_messageProcessor);
        GetAllLobbiesRequest getAllLobbiesRequest = new GetAllLobbiesRequest();
        await _networkConnector.SendMessageAsync(getAllLobbiesRequest, CancellationToken.None);

        GetAllLobbiesResponse getAllLobbiesResponse = await getAllLobbiesResponseListener.ReceiveMessageAsync();

        getAllLobbiesResponseListener.Unsubscribe();
        return(getAllLobbiesResponse);
    }