Fixing Broadcast

General feedback here is really well appreciated.  Turns out that different backends will want to use broadcast in a wide variety of ways.