improved Event.cancel