    }

    abstract protected function getTargetInterface(): string;

    /**
     * @return object[] The services that are registered with this factory.
     */
    protected function getServices(): array
    {
        return \array_map(function (string $serviceId) {
            return $this->container->get($serviceId);