public void Dispose()
        {
            if (frameAnalyzer != null)
            {
                frameAnalyzer.Stop();
                frameAnalyzer = null;
            }

            if (speechManager != null)
            {
                speechManager.Stop();
                speechManager = null;
            }

            if (nodeRenderer != null)
            {
                nodeRenderer.Dispose();
                nodeRenderer = null;
            }

            if (targetNodeRenderer != null)
            {
                targetNodeRenderer.Dispose();
                targetNodeRenderer = null;
            }
        }
        async void InitServices()
        {
            frameGrabber = await FrameGrabber.CreateAsync(this);

            frameAnalyzer = await FrameAnalyzer.CreateAsync();

            frameAnalyzer.Start();
            frameAnalyzer.OnAnalyzedFrame += FrameAnalyzer_OnAnalyzedFrame;

            speechManager = await SpeechManager.CreateAndStartAsync();

            speechManager.OnPhraseRecognized += SpeechManager_OnPhraseRecognized;
        }
 async void InitFrameGrabberAndAnalyzer()
 {
     frameGrabber = await FrameGrabber.CreateAsync();
     frameAnalyzer = await FrameAnalyzer.CreateAsync(); 
 }