Support cancellation within the async task