unified object type for getSelection and updateSelection