fixup! use callbacks when chaining tasks, remove boilerplate