join method
Supports ActionControl, FieldControl and Listenable. Other objects will be passed unchanged.
Implementation
DisposableToken join(dynamic observer) {
final event = DisposableClient(parent: this);
final sub =
ControlObservable.of(observer).subscribe((value) => _notifyControl());
event.onCancel = sub.dispose;
final token = event.asToken(data: observer);
event.onDispose = () {
_items.remove(token);
};
_items.add(token);
return token;
}