Added cancellation support for progress