public static void Listen(
			EventRouter events, SPWrapper sp,
			Settings settings, DeviceWatcher watcher)
        {
            DeployListener.sp = sp;
            DeployListener.settings = settings;
            DeployListener.watcher = watcher;

            events.SubDataEvent (SPPluginEvents.StartDeploy, de => startDeploy());
            events.SubDataEvent (SPPluginEvents.StartBuild, de => startBuild());
        }
        public SpaceportMenuController(
			SpaceportMenu menu, Control mainForm,
			Version version, EventRouter events,
			Settings settings, DeviceWatcher watcher)
        {
            this.mainForm = mainForm;
            this.settings = settings;
            this.watcher = watcher;

            menu.SelectTargets.Click += SelectTargets_Clicked;
            menu.About.Click += About_Clicked;
            menu.SpaceportWebsite.Click += SpaceportWebsite_Clicked;
        }
        public UpdaterController(
			SpaceportMenu menu, Control mainForm,
			Version pluginVersion, Settings settings)
        {
            this.menu = menu;
            this.mainForm = mainForm;
            this.settings = settings;

            updaterPath = Path.Combine (PathHelper.DataDir, LOCAL_UPDATER_FILE);
            var remoteManifestUri = new Uri (REMOTE_MANIFEST_URI);
            var localUpdateCacheDir = Path.Combine (PathHelper.DataDir, LOCAL_UPDATECACHE_DIR);

            UpdateChecker = new UpdateChecker (remoteManifestUri, pluginVersion);
            UpdateDownloader = new UpdateDownloader (updaterPath, localUpdateCacheDir);
            LoadListeners();

            if (menu.CheckUpdates.Checked)
                UpdateChecker.Start();
        }