see dart:core documentation
@override bool remove(Object? val) { var r = value.remove(val); emit(); return r; }