refactor color selection code as first PropertySelect object