decouple waiting and doing a work unit