UrlCompiler is now abstract, and SimpleUrlCompiler is a concrete UrlCOmpiler