This is a bit of an unfortunate edge case where the unbind-on-disposal doesn't help, since the binding is happening in BDL, and the usage is in a nested `LoadComponentAsync` call. Combine those and you have a recipe for disaster.
null
IRulesetInfo
GetPlayableBeatmap
CancellationToken
default
StoragePath
IRulesetStore