I noticed no working example of the widget progress.
I did manage to get it working. Here is an example of that along with the read that has the fix in it you suggested.
While it only reads data, and not puts out anything, it does a progress of the read of the file. You need to have a 20K or larger file probably to see it work.
Feel free to use it as an example, bazzar, or reference, of the widget progress with a cancel button for people to see.