Extract sitemap generation to dedicated classes