This lets them nicely have independent error handling;
an example case where that is desirable is that the
old code failed to archive the logs if one of the daemons
exited with an error.
This also means a config file might specify just some
of the smaller tasks, e.g. for a test that explicitly
wants to create operational error situations.
The diff looks big because of an indentation change,
use "git diff -b" for a smaller diff.