Ahhhhhhh, now I know what you mean.
The easiest way I find to do source lists in 10.4 is that you use an outline view or table view. Outline views are easier if you want collapsible groups, but it really boils down to needing a good data source object for the table. This data source should only tell the table/view exactly the objects it needs to know about, and make sure it gets updated whenever the number of objects in the view changes.
The trick is keeping good track of your objects, and providing the right data to the view, never passing it empty/proxy objects to fill gaps. Only let the view know about objects you intend to tell it about, and if you need to insert something into the middle of an array, insertObject:atIndex: is your friend.