public function setCustomHtmlAttrib($name, $value)
        {
            if (!is_string($name)) {
                throw new Exception(
                    'Invalid argument: $name must be a string'
                );
            }

            if (null !== $value && !is_string($value)) {
                throw new Exception(
                    'Invalid argument: $value must be a string or null'
                );
            }

            if (null === $value && isset($this->_customHtmlAttribs[$name])) {
                unset($this->_customHtmlAttribs[$name]);
            } else {
                $this->_customHtmlAttribs[$name] = $value;
            }

            return $this;
        }