Refactored projections to be more composable.