Actually, we'll need to store the path to the route with the methods allowed for it, so probably something more like:

```ruby
allowed_methods ||= {}
allowed_methods[route] = results_of_map
```

Perhaps this strategy of caching is not such a good idea after all: Other middlewares for example, could add `PATCH` support… and then we'd have this method cached without the PATCH verb. 

Why do you assume that the `allowed_methods_for_route` method is expensive? Is it much more expensive than the previously added manual routes? 

I think ideally, we wouldn't cache this at all.