unregister method
Removes registration only if it is the current owner of its id.
A foreign/stale registration is a silent no-op (dispose races are
inevitable) and does not notify listeners.
Implementation
void unregister(HintTargetRegistration registration) {
final owner = _byId[registration.id];
if (owner == null || !identical(owner, registration)) {
return;
}
_byId.remove(registration.id);
_notifyChanged();
}