protected void remove(TileObjectDisplayData displayData){
		//check if any of the three categories has the displayData, and remove it.
		
		if (displayData == characterData){
			clearCharacterData();
			notifyDataRemoved(displayData);
			return;
		}
		
		if (itemData.contains(displayData)){
			itemData.remove(displayData);
			notifyDataRemoved(displayData);
			return;
		}
		
		Direction dataDirection = null;
		for (Direction d : activeTile.getAllDirections()){
			if (edgeData.get(d) == displayData){
				dataDirection = d;
				break;
			}
		}
		if (dataDirection != null){  //indicates it was found
			edgeData.remove(dataDirection);
			notifyDataRemoved(displayData);
			return;
		}	
	}