This could lead to pretty nasty things, like losing DNS (and in the future, ident) queries. That's a Bad Thing™.
This was an asston of pain, and it still feels "dirty" as it introduces an async call where there normally wouldn't be one. Better implementation more than welcome.