Accepts new data if current value is not equal to data
data
Future<void> acceptUnique(T data) { if (value != data) { accept(data); } return Future<void>.value(); }