A wrapper that can protect EventLog implementations from being overloaded while they are retrying to
serve a write request. If the circuit breaker is closed, it forwards all requests to the underlying event
log. If it is open, it replies with a failure message to the requestor. The circuit breaker can be opened
by sending it ServiceFailure messages with a retry value greater than or equal to the configuration
parameter eventuate.log.circuit-breaker.open-after-retries. It can be closed again by sending it a
ServiceNormal or ServiceInitialized message. These messages are usually sent by EventLog
implementations and not by applications.