While writing the comment for this PR I just realized that this is wrong!
It uses the `success` information of the last campaign only.

A better implementation should probably be
`attester.campaign.failed` when one campaign fails
`attester.core.fail` when all campaigns are complete and at least one failed

So the events are (depending on success information
* For each campaign `attester.campaign.finished` or `attester.campaign.failed`
* At the end of all campaigns `attester.core.idle` or `attester.core.fail`