Maybe I'll get it while reading the follow-up patches, but I don't understand why we need 3 classes and methods for something like this. What are ``Path`` and ``Method`` good for? Are they going to have some attributes and hold some information other than a reference to an instance of ``Application``? If not, this should be reduced to two or three functions.