Why isn't `disabled` just another value in the `HighAvailabilityMode` enum? Can then do away with this altogether and simply invoke `start()` with whatever mode is dependency-injected.

If we really want this method, rename to `setEnabled(boolean)`; definitely throw `IllegalStateException` if invoked after `start()`