fixing memory leak from not calling a .off for every .on event binder