Fallout from DataGroup/Group work. In a List, before you could throw anything in the list (data, group, skinnablecomponents), and everything would work out of the box. Now, List really only supports data out of the box. To support visual objects and selection, you really should create your own item renderer. We think this is the most common use-case and if someone wants a visual component to support selection, they will create their own item renderer for it.
Changed itemSelected() in List to check to see if the selected property is on the item/itemRenderer before setting that property. If the "selected" property is not, there we throw a better RTE message (better than a property does not exist one)
To make it easier for someone to put visual components in a list, we're providing an item renderer they can use, DefaultComplexItemRenderer.