So IanG and Jason
Olson have run across the glorious Avalon UIContext.
There is some debate internally about if we should allow UIContext.Enter() at all.
The problem is that your context may get pinned to a specific thread (for example,
if you host an HWND or use COM). Once you have a pinned context you need to marshal
the call to the right thread, you can't just call enter.
The question is then: Should we have an API that works depending on the state of the
context but provides occasionally the simple pattern (UIContext.Enter()) or should
we have one API that is always guaranteed to work but is harder to use (UIContext.Invoke/BeginInvoke)?