Ah yea, that would work. Maybe a wrapper class to do that would be good to prevent any non-VC-thread code from running in the VinylControl classes. The engine code does this all over the place (having main thread code execute in it directly) and it is a huge contributor to how impossible it is to know what's safe to do there.