code quality - merge storage contracts into the main contracts
From the audit,
There is no added value in splitting these two contracts. If you were to use an upgradeability mechanism that did not use a proxy-based delegatecall pattern, having a separate storage contract would make sense to upgrade the logic without upgrading the storage (by replacing the logic contract, but still using the same storage contract), but in the current setup it does not add any value.
We should discuss this, it may be not applicable
Having a separate storage contract has saved us once from loosing our info when adding a new dependency of an external contract.
When we added is EIP712 on BatcherPaymentService.sol , we didn't loose our storage because we added it AFTER the is BatcherPaymentServiceStorage.
If it wasn't for this, the storage would be in the contract, and their addresses would have been moved by the is EIP712, as it is declared before the storage of a contract.