Match by request
Maybe better as querying language
Vary: * is weird
Have ready() and add() resolve with added responses
Detailing caching