I was frustrated by the lack of flexibility wth hardhat upgrades
I provided additional functions in DeployManager to deploy the separate pieces as needed. We also have finer grain control over the contracts.
proxyAdmin: This is optional now in case we want to reuse a contract
transparentProxy: This can be deployed standalone if you want to reuse an implementation
deployUpgradeableContract which composes them all together