@Override
	public void update(final int delta) {
		if (!entitiesToAdd.isEmpty()) {
			entities.addAll(entitiesToAdd);
			entitiesToAdd.clear();
		}

		List<Entity> deadEntites = null;

		for (Entity e : entities) {
			e.update(delta);

			if (!e.isAlive()) {
				if (deadEntites == null)
					deadEntites = new ArrayList<Entity>();
				deadEntites.add(e);
			}
		}

		if (deadEntites != null)
			entities.removeAll(deadEntites);
	}