fix data races in controller

Fix #305
Can we call this "WaitForWatchCompletion"?