In your play function, your event listeners are never unbound. This will increase the number of callbacks every time you press the button...