TL;DR Encapsulate your composable functions and associated types with a surrounding object and use the operator fun invoke of that object as your composable function. This is a convenient convention for complex components. Details Complex Composable functions often require numerous associated types for their implementation: state holders, UI models, default values, etc. While it does […]