Expose Push progress reporting
Clean up cancellation patterns in callbacks and other small cleanups.