a thing here is that if we write to stderr/stdout between a ListenToEvents and running the next task, the new listener will not get the err/out that precede the next task. But I think we can live with it.