@override Future<Map<String, dynamic>> read(Stateful node) { List<Stateful> l = _listeners[node.storageKey] ??= []; if (!l.any((i) => identical(i, node))) { l.add(node); } return onRead(node); }