refactoring: replace ISelectionChangedListener with closures