Do we even need "Composable" in the name?
Why not just "SpecModel" or "SpecUIModel"?

Btw there's also DynamicComposableModel.