Adding fields to read endpoint and implementing class from. Also small refactoring.
Storing the endpoints and the class for the address validation in a custom settings. Instantiating the class dynamically.
Removing unnecessary constructors and refactoring tests accordingly.