public TrayContext( ILowLevelProcessor processor, IShortcutManager shortcutManager, IExceptionShield shield, IConverter <OpenedWindow, ToolStripMenuItem> converter) { _processor = processor; _shield = shield; _shield.SetLogger(_logger); _windowsCache = new SortedSet <OpenedWindow>(_processor.GetOpenedWindows(), new OpenedWindowComparer()); _trayManager = new TrayMenuManager(converter, ItemClickCallback, ExitCallback); _trayIcon = new NotifyIcon { Icon = Resources.MainIcon.ToIcon(), ContextMenuStrip = _trayManager.Init(_windowsCache), Visible = true, Text = Resources.WintoxToolTip }; _trayIcon.Click += TrayClickCallback; shortcutManager.Register(FiredShortcutCallback); }