public function setting($key = null) : Storage
    {
        $this->getStorage()->clearKey();
        $storage = $this->getStorage()->addKey(self::SETTING);
        if ($key === null) {
            return $this->getStorage()->get();
        }
        return $storage->addKey($key);
    }