<div dir="ltr">For instance this might be an edge in a graph which connects two nodes. Or to use a more specific example this might be a segment of Highway or River between two Cities.<div><br></div><div>I'd like to say that the Highway has two parents, so if either City is removed then the Highway is removed as well. However the Morph/submorph relationship is strictly hierarchical so this isn't possible.</div><div><br></div><div>This makes me think the right thing to do is to place the edges at the same level in the Morph hierarchy as the nodes. Thus a Highway and both the Cities it connects would all be same-level submorphs of their parent. I can override the `delete` message of City to remove any adjacent Highways that start or end there.</div><div><br></div><div>However, that would mean City needs to know about each object that might be an implicit submorph of it in this way. Another strategy would give morphs some kind of `implicitParents` field (not a real name suggestion), and when a morph is deleted it checks for any adjacent morphs that list it as an `implicitParent` and deletes those as well.</div><div><br></div><div>Does it seem like I'm on the right track, and does anyone have suggestions for the best way to handle this?</div></div>