Add sanity checks to BroadcastListener & some ninja changes