Instead of initialising the EDV client in the interfaces, we can expect the library user to pass their own EDV client implementation as arguments