public function addImplementedInterface($interfaceName)
    {
        Assert::stringNotEmpty($interfaceName, 'The interface name must be a non-empty string. Got: %s');

        $this->implementedInterfaces[$interfaceName] = true;

        return $this;
    }