

        console.log(component._reactInternalInstance)
        console.log(Object.keys(mounted[mounted.length - 1].data))
        console.log(component._reactInternalInstance._rootNodeID)
        expect(mounted[mounted.length - 1].data.children[0], 'to equal', mounted[mounted.length - 2].element)
        expect(mounted[mounted.length - 1].data.children[0]._mountIndex, 'to equal')
        expect(component, 'to be', mounted[mounted.length - 3].data.children)

        // IMPORTANT:  component returned from renderIntoDocument is the mounted.data.publicInstance object
        // Bingo. We can find it again.
        // expect(component, 'to be', mounted[mounted.length - 1].data.publicInstance)
        console.log(Object.keys(component._reactInternalInstance))
        expect(1, 'to equal', 2);

So, the following:

1. Every component and child gets a mount event
2. The "component" returned from renderIntoDocument is the data.publicInstance object, so a === comparison to find a
component instance is possible
3. The _rootNodeId appears to be the same for Complex Components and rendered html elements within the same node
  * could possibly use _rootNodeID as the index for a map key to array, then find the item in the array.
4. The data.children[i] are the component instances, hence can be found via the method in (2)
5. Need to look at the devtools for (4) - they need to display the children, and find them too - they can't use walkTree, can they?
6. walkTree takes 2 functions, not sure we can specify a start point
7. Need to provide a cleanup() to clear the mounted nodes
