private async void StartLogic(TraySettings settings)
        {
            //Initializing Chroma SDK
            IChroma chromaInstance = await ColoreProvider.CreateNativeAsync();

            AppInfo appInfo = new AppInfo(
                "Ambilight for Razer devices",
                "Shows an ambilight effect on your Razer Chroma devices",
                "Nico Jeske",
                "*****@*****.**",
                new[]
            {
                ApiDeviceType.Headset,
                ApiDeviceType.Keyboard,
                ApiDeviceType.Keypad,
                ApiDeviceType.Mouse,
                ApiDeviceType.Mousepad,
                ApiDeviceType.ChromaLink
            },
                Category.Application);
            await chromaInstance.InitializeAsync(appInfo);

            _keyboardLogic = new KeyboardLogic(settings, chromaInstance);
            _mousePadLogic = new MousePadLogic(settings, chromaInstance);
            _mouseLogic    = new MouseLogic(settings, chromaInstance);
            _linkLogic     = new LinkLogic(settings, chromaInstance);
            _headsetLogic  = new HeadsetLogic(settings, chromaInstance);
            _keypadLogic   = new KeypadLogic(settings, chromaInstance);

            DesktopDuplicatorReader reader = new DesktopDuplicatorReader(this, settings);
        }
        public LogicManager(GUI.TraySettings settings)
        {
            this.settings = settings ?? throw new ArgumentNullException(nameof(settings));

            //Initializing Chroma SDK
            Chroma.Instance.Initialize();
            _keyboardLogic = new KeyboardLogic(settings);
            _mousePadLogic = new MousePadLogic(settings);
            _mouseLogic    = new MouseLogic(settings);

            DesktopDuplicatorReader reader = new DesktopDuplicatorReader(this, settings);
        }