awesome promise utils
selection events