ok, we can change it later it is not very important - at one point they dropped the `broadcast` ctor which is why it does the `asBroadcastStream()` thing below - but now the `broadcast` ctor got reinstated and we could switch back at some point, it is just a bit cleaner.