renamed Updating to UpdateSelection; created a KeyFunction for
Selection.data
refactoring + javadoc