protected function load()
    {
        if (!$this->loaded) {
            $filename = $this->getFilename();
            if (file_exists($filename)) {
                $content = file_get_contents($filename);
                $this->state = json_decode($content, true) ?: [];
            }
            $this->loaded = true;
        }
    }