Runs a sequence of tasks, then runs their cleanups in reverse order