The same argument can be used in the other direction. If a plugin developer sends the signal, he has to create the variables. In other case there will be strange errors in strange places.

I would prefer you solution, if the signal would only be send in one place. Is it possible to use the ExtraContentMixin in any other place? (Don't forget the SearchView). If not it could be possible to add a function ``` def add_extra_context(context)```