refactoring: use Controls.onSelect (part II)