public function save()
    {
        $this->makeBackup();

        if (!is_dir(dirname($this->filename))) {
            mkdir(dirname($this->filename), 0700, true);
        }

        file_put_contents($this->filename, (string) $this);

        return $this;
    }