We can't simply replace wait_message() for PeekMessage with driver's ProcessEvents, there are also side effects which are the same currently for all the wait_message() usages. Although it is possible to include more redesign in this patch and do it some other way at once. Do you think it is needed?