That's a tough one. On the one hand, the bundle's docs recommend a Varnish configuration with specified header names, and in order to work out of the box the implementation *must* use those header names. On the other, I think we should allow users to use the bundle with their own Varnish configuration (different header names etc.). Perhaps the best way would be to leave the interface free as it is, and do the right thing in our Varnish implementation? Users could always create their own implementation. To make this easier, we could allow overriding the header names in the Varnish class.