rename onSelection* to afterSelection*