Rename, Add ForEachAsync, IReadOnlyDictionary.ValueOrDefault and fix Disposable