private static async Task <(bool success, TelemetryParameters result)> CreateComponentAndGetResult(Guid guid, string version = null)
        {
            bool success = false;
            TelemetryParameters result = default;

            void onTelemetryLogged(TelemetryParameters callParameters)
            {
                success = true;
                result  = callParameters;
            }

            var component = CreateComponent(guid, onTelemetryLogged, version);
            await component.LoadAsync();

            await component.UnloadAsync();

            return(success, result);
        }
        private static async Task <(bool success, TelemetryParameters result)> CreateComponentAndGetResult(Guid guid, string version = null)
        {
            var  semaphore             = new SemaphoreSlim(0);
            bool success               = false;
            TelemetryParameters result = default;

            void onTelemetryLogged(TelemetryParameters callParameters)
            {
                success = true;
                result  = callParameters;
                semaphore.Release();
            }

            var component = CreateComponent(guid, onTelemetryLogged, version, semaphore);
            await component.LoadAsync();

            await semaphore.WaitAsync();

            await component.UnloadAsync();

            return(success, result);
        }