The purpose of @onselect is pretty clear, it should be (probably) fired when you select the given item/group.
And what's the design goal of @onunselect? Once you have selected one time and you select another one, this event is fired before the new one obtains selection?