correct subroutine references
replace add_task() with do_background() because that's how you start the task in background
support for canceling jobs
new to-do
correct handling of failing jobs