Using listenTo and listeToOnce to avoid memory leaks