if you do that you can also safe the `observing` `AtomicBoolean` and make it an `AtomicReference<ListenerStruct>` and check if that is set and also use compare to update it?