Add ability to interrupt worker loop
Clean things up more gently