Add worker implementatoin and fix stopping a worker