I20250405-1800
Currently the ScopedPreferenceStore adds two kind of listeners but only removes one. Even worse it determines the object from removing listeners by lookup the target again, so in some cases it is assumed that the listener was already removed. This now adds a composite listener that handles both cases and remember the objects where listener where added. These listeners are then removed on disposal.