I've been thinking about this for a while, and really believe it's the right decision going forward. The thing that makes me the most hesitant to do this is that I've never seen it done before anywhere. Obviously that doesn't necessitate that it's wrong, just innovative.

I am planning to remove indexes entirely from containers in jSeamless 2.0. What this means is that there will no longer be a get(int index) to get a child, no remove(int index) to remove a specific index, etc. You would have additional features to "addAfter", "addBefore", and others, but you would always reference via Object, not a specific index. I believe this is necessary in order to make a 100% concurrent UI framework. Indexes require synchronization to work properly because you can't have one thread cycling through children via index while another is removing items. You'll inevitably end up with IndexOutOfBoundsExceptions and/or referencing Objects you did not intend to reference.
I'm posting this as though I've thought about this a lot and don't believe there's anything "limiting" about this approach, I want to make sure there's nothing that is left "unable to be done" in we lose indexes in Containers. If anyone can think of any scenario that couldn't be handled please post it.