refactored IntersectionPanel to keep intersections in memory until one of the component is deleted. Purpose is to  maintain the state when an intersection gets hidden then re-shown