instead of a custom admin, we should do an admin extension for the SeoAwareInterface. see for example the https://github.com/symfony-cmf/RoutingBundle/blob/master/Admin/Extension/RouteReferrersExtension.php - btw, where applicable, we do separate read and write interfaces. for seo, it would make sense to have a SeoContentInterface that is read + write, and a SeoContentReadInterface that does only define the getters. that way the admin extension would only trigger on the full SeoContentInterface, but the request listener could use the SeoContentReadInterface