docs: def register(self, entity_cls, provider_name=None):
          """ Register the given model with the factory
          :param entity_cls: Entity class to be registered
          :param provider: Optional provider to associate with Entity class
          """
          self._validate_entity_cls(entity_cls)
  
          # Register the entity if not registered already
          entity_name = fully_qualified_name(entity_cls)
          provider_name = provider_name or entity_cls.meta_.provider or 'default'
  
          try:
              entity = self._get_entity_by_class(entity_cls)
  
              if entity:
                  # This probably is an accidental re-registration of the entity
                  #   and we should warn the user of a possible repository confusion
                  raise ConfigurationError(
                      f'Entity {entity_name} has already been registered')
          except AssertionError:
              # Entity has not been registered yet. Let's go ahead and add it to the registry.
              entity_record = RepositoryFactory.EntityRecord(
                  name=entity_cls.__name__,
                  qualname=entity_name,
                  entity_cls=entity_cls,
                  provider_name=provider_name,
                  model_cls=None
              )
              self._registry[entity_name] = entity_record
              logger.debug(
                  f'Registered entity {entity_name} with provider {provider_name}')