public function push($value = null): self
    {
        $value = $value ?? [];

        $newKey = $this->apiClient->push($this->uri, $value);
        $newPath = sprintf('%s/%s', $this->uri->getPath(), $newKey);

        return new self($this->uri->withPath($newPath), $this->apiClient, $this->validator);
    }