in reply to List of Children Objects
You are making (if I read you correctly) a tree structure. Start with that. A tree is made of nodes and have links or branches to children and one to a parent (somewhat simplified but there you go). So without seeing more requirements I would say build a node object with an internal array of children (left is index 0). Then have a reference to your parent. If the parent is null thats your root.
Adding a child would be as simple as creating the node and pushing onto the child list (again simplified). Iterating is more complicated so I suggest you read up on the topic.
Algorithms in Perl covers a nice example of this plus you can google around for information on tree structures.