public void update(GameContainer gc, StateBasedGame sbg, GameplayState gs, int delta) throws SlickException {
		for (Entry<Long, Tower> entry : this.towers.entrySet()) {
			entry.getValue().update(gc, sbg, gs, delta);
		}
		
		for (Entry<Long, Bullet> bullet : this.bullets.entrySet()) {
			bullet.getValue().update(gc, sbg, gs, delta);
	        if (bullet.getValue().isDead()) {
	        	this.toBeRemoved.add(bullet.getKey());
	        }
		}
		if (!this.toBeRemoved.isEmpty()) {
			for (Long bulletId : this.toBeRemoved) {
				this.removeBullet(bulletId);
			}
			this.toBeRemoved.clear();
		}
	}