I'm uncomfortable with this - the join screen should not be polling some other screen, or even need to know that it is asynchronous. I suggest that the join screen should tell the joining server window what to do when it finishes, and it should take care of the polling.