Actually, context should ALWAYS be None here.   I can describe in more detail, but this is related to the fundamental bug I discovered in our entire Probe architecture.  We were actually *NEVER* applying the `uiContext` key in our own execution of Tasks.  Lead to some rather confusing "no events fired" messages I eventually figured out.   Since most of our shims have been using the `ui.Context` reference directly, it wasn't showing the issue in `SbtUtil.extract` until now.

I'd like to eventually remove all the `UIContext` references out of SbtUtil in favor of the new mechanism to do per-request injection of settings.   That's, of course, in the upcoming pull requests. If you want I can make note of it here.

In any case, the other fix for that issue is to *always* return the new state in `extract`, but that leads to gunky code.