Attach the HealthCheck instance to the event.
Remove run() from the HealthCheck.

Now that each HealthCheck can be accessed from the HealthCheckEvent, we do not want it to be possible to execute run() again.
Create a HealthCheckRunner.

So the operation of executing a health check is stateless.
Remove test for run().

This is now part of HealthCheckRunner
Create a Test for the HealthCheckRunner.
Make the ReporterSubscriber stateless, too.

- We no longer need to assign the HealthCheck to the subscriber
  because we can access it from the HealthCheckEvent provided.