I'm suggesting instead of having one  ``MetricManager`` class that attempts to handle all cases, we have ``MetricManagerBase`` for extending and have ``MetricManager`` override ``.start()`` to add the bits needed to be a Vumi publisher (i.e. ``.start(channel)``). That should reduce all the fiddling with different cases here.