i agree. the aim of the cmf is to provide "building blocks" and allow to replace any part if it does not suit your need. to that goal, the only dependencies should be through interfaces where it makes sense (like MenuAwareInterface or RouteAwareInterface). but i think this goes quite far here - lets boil it down to "do not depend on implementation classes of other bundles but mock the interfaces" or something like that.