Think it could help if ObserverWrapper had "is_removed" and "is_running" flags.