One feature of the StaticFile class that is not present in the code you posted earlier is that it returns a FileStream instead reading the file into a string. You might want to do that even if you don't use the StaticFile and/or StaticDirectory classes. What is the obstacle to using names like "page.html" with StaticFile/StaticDirectory? Is it the "." in the name? StaticDirectory seems to handle that with a _q_lookup(), like the pattern you described.