import 'dart:async'; import 'package:flutter/foundation.dart'; abstract class Provider { const Provider(); /// (Re)Load data from store / network / etc. @mustCallSuper FutureOr load() { all.add(this); debugPrint('$runtimeType added'); } static final all = []; static Future reload() { return Future.wait(all.map((e) async => await e.load())); } }