Thanks, Gabriel for your appreciation. Coming back to your queries:
- Why do you call router as wireframe?
Router ideally has the responsibility of initializing the module components, thereby holding the blueprint/wireframe of the whole module. Thus I have named them as the wireframe. Its no harm if you are naming your router as “XYZRouter”.
- Why is it the responsibility of wireframe to initiate the module?
Wireframe/Router is the place where your view controllers are initialized and the routing logic is written. So it is logical for the Router to take the responsibility to initialize the module.