In our applications, the callable that you would want to call, that produces a Directory, depends on the name that is passed into the _q_lookup. We don't have that callable available already as a method. We would need to, one way or another, construct a callable that could be called with no arguments, but that would still produce the Directory that we want, the one that depends on the name passed into the _q_lookup. This is possible, but I think it makes the _q_lookup (and support functions) more difficult to understand. Maybe there is something different about your url space, though, that makes this especially useful. The _q_traverse functionality was separated from the Publisher class in order to give you the power to have it your way. Maybe you should give it a try and see how much you like it in practice.