Custom Upgradable Proxy contract that behaves similarly to the EIP-1822: Universal Upgradeable Proxy Standard (UUPS), except that it points to an Authority contract which in itself points to an implementation (which can be updated).
New ImplementationAuthority contract that acts as an authority for proxy contracts
Library Lock contract to ensure no one can manipulate the Logic Contract once it is deployed
Version contract that gives the versioning information of the implementation contract