Create a `managable_task` helper

Before this, each task had to handle its reponse to the build
manager. With this code it's much easier to create a task that can
call back.