private function setTopicName(string $topicName): self
    {
        $this->generalRulesCheck($topicName);

        // A topic name has some additional checks, as no wildcard characters are allowed
        if (strpbrk($topicName, '#+') !== false) {
            throw new \InvalidArgumentException('Topic names can not contain wildcard characters');
        }

        $this->topicName = $topicName;
        return $this;
    }