While usually we'd handle this locally by moving bind operations to
`LoadComponent`, this component was explicitly made to be used in
asynchronous scenarios (to allow cases like song select to coexist with
realm without adding huge compliexities to the classes locally).
So I think it makes sense to hide this as an implementation detail. The
locked segments should all be quite fast to run so I do not see a
performance issue with lock contention here.
The intention here is to make things more testable going forward.
Specifically, to remove the "back-door" entrance into `BeatmapCarousel`
where `BeatmapSets` can be set by tests and bypas/block realm retrieval.