removing more events on destroy, refactoring anonymous functions to do so