public function setVisibility(string $visibility)
    {
        if (!in_array($visibility, VisibilityableInterface::VISIBILITY_ALLOWED)) {
            throw new \Exception(sprintf(VisibilityableInterface::ERROR_FORMAT_INVALID_VISIBILITY, $visibility));
        }
        $this->visibility = $visibility;

        return $this;
    }