Updating CancellablePromise to always perform cancellation logic on a clean stack