This also optimises the manager classes to better support `Live` usage
where the managed object is already in a good state (ie. doesn't require
re-fetching).
Not sure why I left this around during the refactor. This is 100%
handled by the `DetachedBeatmapStore`.
Removing this subscription reduces overheads by a huge amount for users
with large beatmap databases. My hypothesis is that subscriptions are
more expensive based on **the number of results matching**. This one
matches almost every beatmap so removing it is a large win.
This was causing state pollution in the new selection. I can't see why
this needs to happen when a selection changes to another.
This fixes https://github.com/ppy/osu/issues/30839 and also the same
issue happening for the new combo toggle.
Tests all seem to pass, and I can't immediately find anything broken,
but YMMV.
Queuing up requests on change to `api.LocalUser` is bad because the API
state is updated after `LocalUser` is updated, therefore we have to
schhhhhedullllllllleeeeeeeeeeeeeeee.