No-ops binding non-callable event listeners

Attempting to bind to a non-function should always no-op, to prevent errors being thrown by `emit` and prevent unnecessary processing and memory usage.