public function getServiceDescription()
    {
        if (null === $this->serviceDescription) {
            $serviceDescription = static::loadServiceDescription();
            $serviceDescription['ravelry.access_key'] = $this->authentication->getAccessKey();

            // we'll preset the upload_image parameter with our access_key
            $serviceDescription['operations']['upload_image']['parameters']['access_key']['default'] = $serviceDescription['ravelry.access_key'];

            $this->serviceDescription = new Description($serviceDescription);
        }

        return $this->serviceDescription;
    }