private void DispatchResponseStatus(IdSiteResultStatus status, IAccountResult accountResult)
        {
            if (status == IdSiteResultStatus.Registered)
            {
                this.resultListener.OnRegistered(accountResult);
                return;
            }
            else if (status == IdSiteResultStatus.Authenticated)
            {
                this.resultListener.OnAuthenticated(accountResult);
                return;
            }
            else if (status == IdSiteResultStatus.Logout)
            {
                this.resultListener.OnLogout(accountResult);
                return;
            }

            throw new ArgumentException($"Encountered unknown ID Site result status: {status}");
        }
        private Task DispatchResponseStatusAsync(IdSiteResultStatus status, IAccountResult accountResult, CancellationToken cancellationToken)
        {
            if (status == IdSiteResultStatus.Registered)
            {
                return this.resultListener.OnRegisteredAsync(accountResult, cancellationToken);
            }
            else if (status == IdSiteResultStatus.Authenticated)
            {
                return this.resultListener.OnAuthenticatedAsync(accountResult, cancellationToken);
            }
            else if (status == IdSiteResultStatus.Logout)
            {
                return this.resultListener.OnLogoutAsync(accountResult, cancellationToken);
            }

            throw new ArgumentException($"Encountered unknown ID Site result status: {status}");
        }