Composite disposable container that disposes multiple IDisposable/IAsyncDisposable objects in reverse order.
dotnet add package Philiprehberger.Disposer