You can use `.on` here to keep it consistent, and `Function.bind` for performance