could we use a request listener that looks by default at contentDocument, rather than a specific controller? needing a controller is rather invasive, if you add seo later and have custom controllers, you need to change all your controllers. with a request listener, you could just look into the request attribute contentDocument and if there is a SeoAwareInterface object in it do your job...