public static function descriptor($path)
    {
        static $descriptor = [];

        if (empty($descriptor)) {
            $descriptor = json_decode(
                file_get_contents($path),
                true
            );
        }

        if (null === $descriptor) {
            throw new InvalidDescriptor(
                sprintf('Descriptor at %s is invalid', $path)
            );
        }

        return $descriptor['service'];
    }