public function jsonSerialize()
    {
        $children = ($this->hasChildren()) ? $this->children : [];

        return [
            'slug' => $this->getSlug(),
            'type' => $this->getType(),
            'arguments' => $this->getArguments(),
            'singular' => $this->getSingular(),
            'plural' => $this->getPlural(),
            'value' => $this->getValue(),
            'fingerprint' => $this->getFingerprint(),
            'children' => $children,
            'validator' => $this->manager->getValidator(),
        ];
    }