Is there a reason we are using the underlying node lists for our collection of elements?
I would think that it would be more performant (at the possible cost of some extra memory) to keep a list of FlexJS elements. childNodes are live collections which need to constantly be resolved so they should not be very performant. They also contain text nodes, so I’m not sure that the index will always be correct.