Why call wait(), since communicate() also waits until it's finished?