Function onMountsChange

Subscribe to mount changes. The listener is invoked immediately with the current mounts (and an empty removed), then again on every change. The second argument carries the descriptors REMOVED by that change, each with its reason (AM2-4) — so an app can react to why a mount vanished (e.g. tell the user a shared space was unshared vs deleted). It is empty on adds and on the initial replay. Returns an unsubscribe fn.