private InputManager() { _stagingArea = new Stack(); InputDeviceEvents = new DeviceEvents[(int)InputDeviceType.Last]; for (int i = 0; i < (int)InputDeviceType.Last; i++) { InputDeviceEvents[i] = new DeviceEvents(); } _continueProcessingStagingAreaCallback = new DispatcherOperationCallback(ProcessStagingArea); _buttonDevice = new ButtonDevice(this); _touchDevice = new TouchDevice(this); _genericDevice = new GenericDevice(this); }