public void update() {
		switch (StateHandler.instance.getCurrentState()) {

		case MENU:
			synchronized (MenuObject.menuObjects) {
				for (Iterator<MenuObject> it = MenuObject.menuObjects
						.iterator(); it.hasNext();) {
					MenuObject object = (MenuObject) it.next();
					object.update();

					/*
					 * if (object.shouldDestroy()) {
					 * MenuObject.menuObjects.remove(object); }
					 */
				}
			}
			break;

		case IN_GAME_MENU:
			synchronized (GameObject.menuObjects) {
				for (Iterator<GameObject> it = GameObject.menuObjects
						.iterator(); it.hasNext();) {
					GameObject object = (GameObject) it.next();
					object.update();

					/*
					 * if (object.shouldDestroy()) {
					 * GameObject.menuObjects.remove(object); }
					 */
				}
			}
			break;

		case PLAYING:
			synchronized (GameObject.gameObjects) {
				for (Iterator<GameObject> it = GameObject.gameObjects
						.iterator(); it.hasNext();) {
					GameObject object = (GameObject) it.next();
					object.update();

					/*
					 * if (object.shouldDestroy()) {
					 * GameObject.gameObjects.remove(object); }
					 */
				}
			}
			break;

		case PAUSED:
			// Don't update game objects while paused.
			break;
		}
	}