add 'empty' event; add selection events on 'select_all' and 'clear_selection'