Say you have a standard TodoList app.
There is an app component, which "provides" a TodoStore service which manages(gets/sets/modifies) all the data.
You create AppComponent which "provides" this TodoStore and you inject this into your TodoListComponent. Everything works as expected.
Now, the customer, for some reason wants to have TWO TodoListComponent, side by side. Because components are meant to be reusable and composable, this is a valid use case.
But how would you provide a different TodoStore into the two components? Or is my design fundamentally flawed?