remove EventContext.delegate, add EventContext.is_listener