/**
  * Class responsible for instantiating a DiAbstractServiceFactory
  *
  * @param ContainerInterface $container
  * @param string $name
  * @param null|array $options
  * @return DiAbstractServiceFactory
  */
 public function __invoke(ContainerInterface $container, $name, array $options = null)
 {
     $factory = new DiAbstractServiceFactory($container->get('Di'), DiAbstractServiceFactory::USE_SL_BEFORE_DI);
     if ($container instanceof ServiceManager) {
         $container->addAbstractFactory($factory, false);
     }
     return $factory;
 }