Composable futures