updates the async value while cancelling previous
@protected Future<void> updateAsync(Future<T> Function() value) async { await _cancelAndNotify(); await _updateAsync(value()); }