public function with($serviceClassName)
    {
        if (false === $this->has($serviceClassName)) {
            throw new Exception(
                'You cannot use the function "' . __FUNCTION__ . '" on a service which was not added to the factory (service used: "' . $serviceClassName . '").',
                1459425398
            );
        }

        $this->currentService = $serviceClassName;

        return $this;
    }