Not sure if it's pulling its weight to create a new class for this, with one usage. I wonder if instead of:

    if (AtomicReferences.setIfDifferent(serviceUp, Boxing.unboxSafely(event.getValue(), false))) {
        updateEnablement();
    }

We could just do:

    boolean val = (event.getValue() == null) ? false : event.getValue();
    if (serviceUp.getAndSet(val) != val) {
        updateEnablement();
    }

It's an extra line of code, but it's probably close to the same number of characters, and introduces fewer concepts.