private List<Teleporter> getNewTeleporters() {
		List<Teleporter> teleports = new ArrayList<Teleporter>();
		
		while (getTeleporterCoverage() < coverage) {
			int randomX = (int) Math.round(Math.random() * grid.width);
			int randomY = (int) Math.round(Math.random() * grid.height);
			
			Teleporter teleport = new Teleporter(new Position(randomX, randomY));
			if (grid.validPosition(teleport.getPosition()) && canHaveAsTeleporter(teleport)) {
				grid.addElement(teleport);
				teleports.add(teleport);
				
				factory.addObserver(teleport);
			}
		}
		
		return teleports;
	}