@Override
	public void update(GameContainer container, StateBasedGame game, int delta)
			throws SlickException {
		metronome.update(container, delta);
		player.update(container, delta);
		
		if (metronome.isNewBeat()) {
			processBeat(container);
		}
		prompts.update(container, delta);
		
		for (GameObject o : gameObjectList) {
			o.update(container, delta);
		}
		for (int i = gameObjectList.size() - 1; i >= 0; i--) {
			if (gameObjectList.get(i).dead) {
				gameObjectList.remove(i);
			}
		}
		
		if (InputChecker.isInputPressed(container, KeyBindings.RESTART)) {
			init(container, game);
		}
		
		if (InputChecker.isInputDown(container, KeyBindings.QUIT)) {
			container.exit();
		}
	}