The router's primary job is to manage navigation between states, which includes updating the component tree.
Note
Navigation is the act of transitioning from one router state to another.
To see how it works, let's look at the following example. Say we perform a navigation from the state above to this one:
Because ConversationsCmp is no longer active, the router will remove it. Then, it will instantiate ConversationCmp with MessagesCmp in it, with ComposeCmp displayed as a popup.