private async Task <OsuUser> CreateOsuUserFromUserDataAsync(UserData userData)
        {
            OsuUser osuUser = _osuFriends.CreateUser(userData.OsuFriendsKey);
            Status? status  = await osuUser.GetStatusAsync();

            _logger.LogTrace("OsuDb Status: {status}", status);
            if (status != Status.Completed)
            {
                return(null);
            }
            return(osuUser);
        }
        private async Task <OsuUser> CreateOsuUserAsync()
        {
            for (int tries = 0; tries < 30; tries++)
            {
                OsuUser osuUser = _osuFriends.CreateUser();
                Status? status  = await osuUser.GetStatusAsync();

                _logger.LogTrace("Verification Status: {status}", status);

                if (status == Status.Invalid)
                {
                    return(osuUser);
                }
            }
            return(null);
        }
        private async Task <bool> WaitForVerificationStatusAsync(OsuUser osuUser)
        {
            bool success = false;

            for (int retry = 0; retry < 60; retry++)
            {
                Status?status = await osuUser.GetStatusAsync();

                _logger.LogTrace("Verification Status: {@status}", status);
                if (status == Status.Completed)
                {
                    success = true;
                    break;
                }
                await Task.Delay(TimeSpan.FromSeconds(3));
            }
            return(success);
        }