I thought about it. This code is for a very specific use-case and most of this code will go away once we augment our core api to deal with groups of components.