The ApeRouterV2 is an external, non-value holding, contract which manages different sets of interactions with the ApeFactoryV2 related to adding/removing liquidity and swapping tokens. Because this contract holds no value it can be upgraded without needing to redeploy the ApeFactoryV2.