public function unsetData($key = null)
    {
        if (is_string($key) && 0 < strlen($key)) {
            unset($this->data[$key]);
        } else {
            $this->data = [];
        }

        return $this;
    }