We created something good, but by virtue of depending on Compose it could only be used for Compose UI or Compose Web. @Composable fun Counter ( start : Int , stop : Int ): Int { val value by remember { mutableStateOf ( start ) } LaunchedEffect ( Unit ) { while ( value <= stop ) { delay ( 1_000 ) value ++ } } return value } @Composable fun CounterPresenter ( events : Flow < CounterEvent >, randomService : RandomService , ): CounterModel { var count by remember { mutableStateOf ( 0 ) } var loading by remember { mutableStateOf ( false ) } LaunchedEffect ( Unit ) { events .