Broadcasts with key

We sometimes need to get the key from the broadcasts query as well. I decided to make new functions as that seemed more backwards compatible. I tried to DRY up some stuff as well and wrote specs.