split the SOAP code from the main threading code
use threading.Event to sync threads