Compose is agnostic in how you handle state.
However, ViewModels are common practice and you can make those hierarchical if you want.
That being said. ApplicationState has a different role than a ControlState. If it is UI specific, e.g. the internal state of a control, and not related to application logic l, I’d keep it inside the components