Added optional callbacks

to selectItem and unselectItem
Fix: reset