Re-wrote the entity interaction system; gave the map class more control