Now that we are updating the button on the fly, I wonder if instead of adding every time an event listener you should not simply bind the event listener in the constructor and do it only once.

I fear that doing it the way you do in this patch, you will end up attaching multiple event listeners to this code (because of the use of bind which create a new function everytime), and that multiple events will be fired when you hit the action button.