I think that this method shouldn't replace headers that are already set, but instead merge into the existing headers. For example, if there is already a Cache-Control header set to "public", and I call `addHeaders(['Cache-Control' => 'max-age=2592000'])`, then the Cache-Control header should become `public, max-age=2592000`.