private Task SetupAaClientWebSocket()
        {
            _aaClientWebSocket = new AaClientWebSocket
            {
                OnError        = OnError,
                OnDisconnected = OnDisconnected, // TODO: Always attempt to reconnect on disconnect
                OnConnected    = OnConnected,
                OnMessage      = OnMessage
            };

            _aaClientWebSocket.SetSocketHeaders(new Dictionary <string, string>
            {
                { "Authorization", $"Bearer {_settings.TokenResponse.AccessToken}" }
            });

            return(_aaClientWebSocket.OpenAsync(new Uri(_settings.OutboundNotifsEndpointUrl)));
        }
        private async Task TearDownAaClientWebSocket()
        {
            await _aaClientWebSocket.CloseAsync();

            _aaClientWebSocket = null;
        }