The structures do only very simple, single parent, dependency tracking which has resulted in a very ugly pair of methods for removing items and their dependencies. It will be worth considering adopting more fine grained data structures which track multiple dependencies across several generations, i.e. quux was directly brought in by foo which was brought in by the addition of bar
With the Hob V2 redesign underway, which will adopt a 2 phase build, this no longer needed
Obsoleted by Hobv2