-- Each observer needs a dedicated scope to guarantee, that the whole observer is detached when the provided callback (or the observable implementation) fails.
-- | Callback wrapper, internally used for `attachObserver`. Using the newtype prevents the callback from being called without appropriate error handling. This ensures exceptions from callbacks do not interfere with observable updates.