public override IEnumerator <object> OnStatusWindowShown(IStatusWindow statusWindow)
        {
            var panel = new RemoteControlConfig(this);

            yield return(panel.LoadConfiguration());

            statusWindow.ShowConfigurationPanel("Remote Control", panel);
        }
        public override IEnumerator <object> Initialize()
        {
            using (var configWindow = new RemoteControlConfig(this)) {
                yield return(configWindow.LoadConfiguration());

                yield return(configWindow.SaveConfiguration());
            }

            yield return(Preferences.GetAll().Bind(() => CurrentPrefs));

            yield return(ResetListener());

            GCTaskFuture = Scheduler.Start(
                GCTask(), TaskExecutionPolicy.RunAsBackgroundTask
                );

            yield break;
        }