open more Selection.js to help leverage from List, improve
testing, improve doc
fix issue when moving from multiple selection to single selection