why not just injecting the router? why container?