private void updateWaves() {
		final Iterator<GunWave> it = waves.iterator();
		while (it.hasNext()) {
			final GunWave w = it.next();
			w.update(state.time, state.targetPosition);
			if (w.isCompleted()) {
				it.remove();
				processCompletedWave(w);
			}
		}
	}