@Override
	public void logicUpdate(GameTime gameTime) {
		deleteRequiredLayers();
		for (GameLayer gameLayer : gameLayers.values()) {
			if (gameLayer.currentState != GameLayer.GameLayerState.PAUSED) {
				gameLayer.logicUpdate(gameTime);

				// We poll this information to see if the game layer now wants
				// removed.
				if (gameLayer.needsRemoved()) {
					removeLayers.add(gameLayer);
				}
			}
		}
	}