Cleanup: align naming
Cleanup: renamed `UnitCollection` to `UnitSet`
Cleanup: moved result set bits to the unit collection
Cleanup: use a more sensible name
What's the point of passing unnecessary data?
Cleanup: minor coding style nit
Simplified the way to set the active unit