Not really, because you are jumping over the concrete class directly to the abstract class in your utility class and in the init function you call the getter from the abstract class.