public TouchZonesConfigurationWindow(TouchMouseEventManager touchMouseEventManager, TouchZoneProvider touchZoneProvider) : this()
		{
			_touchMouseEventManager = touchMouseEventManager;
			TouchZones = touchZoneProvider.Get();

			Loaded += MainWindow_Loaded;
			Closed += MainWindow_Closed;
		}
		public SingleInstanceManager()
		{
			IsSingleInstance = true;

			_touchConfiguration = new TouchConfiguration();
			var stateMachine = new StateMachine(_touchConfiguration);
			_touchZoneProvider = new TouchZoneProvider(stateMachine, _touchConfiguration);
			_touchMouseEventManager = new TouchMouseEventManager(stateMachine, _touchZoneProvider);
		}
        public SingleInstanceManager()
        {
            IsSingleInstance = true;

            _touchConfiguration = new TouchConfiguration();
            var stateMachine = new StateMachine(_touchConfiguration);

            _touchZoneProvider      = new TouchZoneProvider(stateMachine, _touchConfiguration);
            _touchMouseEventManager = new TouchMouseEventManager(stateMachine, _touchZoneProvider);
        }
		public TouchMouseEventManager(StateMachine stateMachine, TouchZoneProvider touchZoneProvider)
		{
			_touchZoneProvider = touchZoneProvider;
			_machine = stateMachine;
		}
        public TouchZonesConfigurationWindow(TouchMouseEventManager touchMouseEventManager, TouchZoneProvider touchZoneProvider) : this()
        {
            _touchMouseEventManager = touchMouseEventManager;
            TouchZones = touchZoneProvider.Get();

            Loaded += MainWindow_Loaded;
            Closed += MainWindow_Closed;
        }
 public TouchMouseEventManager(StateMachine stateMachine, TouchZoneProvider touchZoneProvider)
 {
     _touchZoneProvider = touchZoneProvider;
     _machine           = stateMachine;
 }