Arguments sent here are passed to the constructor of the class assigned to the
implclass level attribute, assuming the
implis a callable, and the resulting object is assigned to the
self.implinstance attribute (thus overriding the class attribute of the same name).
If the class level
implis not a callable (the unusual case), it will be assigned to the same instance attribute ‘as-is’, ignoring those arguments passed to the constructor.
Subclasses can override this to customize the generation of