CallOnEvent takes **kwargs now, passes the client to the callback, and support sequences of events.