def add_sink(self, sink):
        """Add a vehicle data sink to the instance. ``sink`` should be a
        sub-class of ``DataSink`` or at least have a ``receive(message,
        **kwargs)`` method.

        The sink will be started if it is startable. (i.e. it has a ``start()``
        method).
        """
        if sink is not None:
            self.sinks.add(sink)
            if hasattr(sink, 'start'):
                sink.start()