A Data-Centric Framework for Composable NLP Workflows