final public function set($varname, $value)
    {

        //If its lock we can't edit
        if ($this->lock)
            return false;

        //Continue
        $previous = isset($this->data[$varname]) ? $this->data[$varname] : null;
        $this->data[$varname] = $value;

        //what to do with previous?

        return $this;
    }