Our CMS pages are typically structured as a collection of building blocks which can be reused and positioned across different pages. Previously, the logic for data retrieval for each block was completely separated from the UI component used to actually draw the component. Which made the logic for retrieving additional data harder to follow and maintain.
Lets take a "related articles" block as an example. In a composable website setup, clients can choose which pages need this block and where they want to position it. The block itself contains a short summary of articles with similar tags. Something like the example illustrated in the screenshot. We need a title, url and background image of the two related articles.