This tutorial on state hoisting in jetpack-compose says:
By passing a function and not a state to OnboardingScreen we are making this composable more reusable and protecting the state from being mutated by other composables. In general, it keeps things simple.
How does passing a callback function achieve these stated goals any better than passing the state directly?