allow cancellation inside delegate methods