I'm tempted to say that there should be a "WebPush" variant instead which could be chrome/ff/safari, but i think chrome and safari are to closely related to Android/iOS atm that it wouldn't make sense.
Somewhat related to this is the JS SDK for the ups and how it works for push on the web. It was initially created to just handle registering SimplePush clients, since there was no browsers doing push. Then Safari introduced push, then chrome and FF. with regards to the UPS, these are 3 different variants, so to create 1 app that handles all three you would need to make sure to register 3 "clients" in the js sdk. I don't know if there is anyway we can help the user out with this. Safari is different enough that it would be easy for the user, but there is no real difference between the registration code in FF and chrome.(perhaps these 2 should be the "WebPush" variant) so a user agent parse would probably need to happen. i'm not really a big fan of including that in the library, but maybe we should have an example that shows push for FF and chrome in the same example.