Fixes the progress bar

These fixes make the progress bar work again; in a previous edit I had cached the created drivers. Now, instead, I just cache some device information and reconstruct the driver every time so it gets updated options.

I don't like this model of constructing drivers on the fly very much -- it's not at all reliable to assume that you can construct something with different parameters at different times and expect it to work consistently. But for now we can make it work.