void markAsDirty<S>({String? tag, String? key}) { final newKey = key ?? _getKey(S, tag); final dep = _singl[newKey]; if (dep != null && !dep.permanent) { dep.isDirty = true; } }