static void Main()
        {
            var startUpChecker = new StartUpChecker();
            startUpChecker.Run();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            using (var features = new FeaturesManager()) {
                Application.Run(new MainForm(features));
            }
        }
        void RunOnAllFeatures(Expression<Action<IFeature>> action)
        {
            var mockFeature1 = new Mock<IFeature>();
            var mockFeature2 = new Mock<IFeature>();
            var mockFeature3 = new Mock<IFeature>();
            var featuresList = new List<IFeature> { mockFeature1.Object, mockFeature2.Object, mockFeature3.Object };

            _mockFeaturesProvider.Setup(p => p.GetFeatures()).Returns(featuresList);
            mockFeature1.Setup(action);
            mockFeature2.Setup(action);
            mockFeature3.Setup(action);

            var manager = new FeaturesManager(_mockFeaturesProvider.Object);
            manager.SetAll();

            mockFeature1.Verify();
            mockFeature2.Verify();
            mockFeature3.Verify();
        }