this reads weirdly. receive = workerForCommand?