Currently these 3 classes make little sense, the abstract class defines property $wellKnownUri and its getter is calls getWellKnown(), and the subclasses override the property but add a new getter GetWellKnownUri()
Since the 2 implementations have the well-known hardcoded anyway, theres no need for variables. The abstract class can also be made concrete when we allow the $wellKnown to be injected. This way we can use this class directly in our local and test environments by configuring it in the DI container.
Currently these 3 classes make little sense, the abstract class defines property
$wellKnownUriand its getter is callsgetWellKnown(), and the subclasses override the property but add a new getterGetWellKnownUri()Since the 2 implementations have the well-known hardcoded anyway, theres no need for variables. The abstract class can also be made concrete when we allow the
$wellKnownto be injected. This way we can use this class directly in our local and test environments by configuring it in the DI container.