public function add($key, $value) {
        if (isset($this->data[$key])) {
            throw new \InvalidArgumentException("Key $key is already set");
        }
        $this->data[$key] = $value;
    }