When an architecture supports modularity it means we can put each feature in its own module so that it builds in isolation, while still allowing it to be plugged into the application as a whole. We show that the Composable Architecture is also very modular, and this means we can run each screen of our application as a standalone app without building the entire code base.
The toy application we have been building to explore the Composable Architecture is now fully modularized. But there’s a very important aspect of architecture we have been ignoring: side effects. This is what allows our application to communicate with the outside world, and is the biggest source of complexity in any application. In the next section we attack this very difficult problem.