public async Task Subscribe()
        {
            //First, detect and unsubsribe from lingering webhooks
            TokenRequest tokenContainer = await helixHelper.GetClientCredentialsToken();

            TwitchWebhookResponse subscriptions = await helixHelper.GetWebhookSubscriptions(tokenContainer.AccessToken);

            if (subscriptions.Data is not null && subscriptions.Data.Count > 0)
            {
                communication.SendWarningMessage($"Unsubscribing from {subscriptions.Data.Count} existing webhooks");

                foreach (TwitchWebhookResponse.Datum datum in subscriptions.Data)
                {
                    bool success = await helixHelper.WebhookSubscribe(
                        callback : datum.Callback,
                        mode : "unsubscribe",
                        topic : datum.Topic,
                        lease : 0,
                        secret : "");

                    if (!success)
                    {
                        communication.SendWarningMessage($"Failed to unsub {datum.Callback} from: {datum.Topic}");
                    }
                }
            }


            foreach (IWebSubSubscriber subscriber in webSubSubscribers)
            {
                await subscriber.Subscribe(this);
            }
        }