public async Task SwitchRoom(string chatApiKey, string battleTag, string chatRoom)
        {
            var user = await _authenticationService.GetUser(chatApiKey, battleTag);

            var oldRoom = _connections.GetRoom(Context.ConnectionId);

            _connections.Remove(Context.ConnectionId);
            _connections.Add(Context.ConnectionId, chatRoom, user);

            await Groups.RemoveFromGroupAsync(Context.ConnectionId, oldRoom);

            await Groups.AddToGroupAsync(Context.ConnectionId, chatRoom);

            var usersOfRoom = _connections.GetUsersOfRoom(chatRoom);
            await Clients.Group(oldRoom).SendAsync("UserLeft", user);

            await Clients.Group(chatRoom).SendAsync("UserEntered", user);

            await Clients.Caller.SendAsync("StartChat", usersOfRoom, _chatHistory.GetMessages(chatRoom));
        }