Allow currying for on()