Use publish from broker when possible from signal

This make it possible to override the publish method on the broker and have
the same behaviour picked up when using signal objects.
tests of using the pub/sub functions directly