Changed the destroy method to "free".
Eliminated the call to undelegateEvents because remove already calls
stop listening. I was unaware of that, the call to undelegate is
redundant.