Composable workflows