Selection:
for objects whose children may be selected
single and multi-select
read-write API
examples: lists, treeviews