public final void dispatchEvent(final NativeInputEvent e) {
		eventExecutor.execute(new Runnable() {
			public void run() {
				if (e instanceof NativeKeyEvent) {
					processKeyEvent((NativeKeyEvent) e);
				}
				else if (e instanceof NativeMouseWheelEvent) {
					processMouseWheelEvent((NativeMouseWheelEvent) e);
				}
				else if (e instanceof NativeMouseEvent) {
					processMouseEvent((NativeMouseEvent) e);
				}
			}
		});
	}