Ah, I see. Thank you for the explanation.
As I said, I think this is going to cause a lot of trouble, docs or no
-- it's just so counter-intuitive. I'd suggest at least adding some
kind of thread-local storage to the base widget, so that the docs can
give a simple solution ("to set per-request properties in a widget, use
widget.request [or whatever]").
A greater investment that I think would be worthwhile would be to
profile the two cases (current, vs instantiate/copy per request) and
see how expensive the (to me at least) intuitive scenario is. If you or
other folks are interested, I can take a crack at that next week -- my
access this week is still pretty lousy. Also, I have the flu. Ah,
vacation! ;)
JP