public void update(double delta) {
		if (toggleDelay.over(delta) && toggleKey.isDown()) {
			toggleDelay.reset();
			toggleVisibility();
		}

		if (!isShowing()) {
			return;
		}

		boolean canMove = moveDelay.over(delta);
		if (canMove && upKey.isDown()) {
			getCurrentMenu().move(-1);
			moveDelay.reset();
		}
		if (canMove && downKey.isDown()) {
			getCurrentMenu().move(1);
			moveDelay.reset();
		}

		if (activateDelay.over(delta) && activateKey.isDown()) {
			getCurrentMenu().activate();
			activateDelay.reset();
		}
	}