[This](https://gist.github.com/elight/9977098) is what I was talking about yesterday. While the `calling_method` method is hideous, *and assumes that the caller is always a request method*, it has all of this behavior and state (which methods are admin methods) in one place.

FWIW, I think I prefer your approach. It keeps all of the knowledge about the request in the request but delegates the URL generation.