Don't retract same object twice,
Don't assign same identifying role twice (superclass and subclass),
Avoid more mutual assignment,
Add logger hook