InteractEvent: add prototype
Define actions in variable declaration
Interactable#fire: handle thrown exceptions
Interactable#fire: do not bind listeners to `this`