public function set(string $name, $value) : self
    {
        if (self::$init == false) {
            $this->init();
        }

        if (array_key_exists($name, $this->data) && $this->data[$name] === $value) {
            return $this;
        }

        $this->changed = true;

        $this->data[$name] = $value;

        return $this;
    }
public function set(string $name, $value) : self
    {
        if (self::$init == false) {
            $this->init();
        }

        if (array_key_exists($name, $this->data) && $this->data[$name] === $value) {
            return $this;
        }

        $this->changed = true;

        $this->data[$name] = $value;

        return $this;
    }
@param string $name
@param $value

@return $this|self