@Override
	public void handleEvent(Event event) {
		if (!isEngaged()) {
			return;
		}
		if (event.isOfType(KeyPressedEvent.TYPE_ID)) {
			handleKeyPressed((KeyPressedEvent) event);
		} else if (event.isOfType(KeyReleasedEvent.TYPE_ID)) {
			handleKeyReleased((KeyReleasedEvent) event);
		} else if (event.isOfType(MouseButtonPressedEvent.TYPE_ID)) {
			handleMouseButtonPressed((MouseButtonPressedEvent) event);
		}
	}