public function add(string $key, $value)
    {
        if ($key === '' || $key === null) {
            // if you're not strict you get this errors
            throw new ViewException('Empty keys are not allowed!');
        }

        if (!isset($this->engineVarList[$key])) {
            $this->engineVarList[$key] = $value;

            return $this;
        }

        if (is_array($this->engineVarList[$key])) {
            $this->engineVarList[$key] = array_merge_recursive($this->engineVarList[$key], $value);
        }

        return $this;
    }