I did something like this for analytics on the company app. It needs to record analytics to multiple providers for which a fan out pattern was a good fit. There’s a single entry point to log an event. Any number of loggers then pick up that event and send it out to the provider. It has worked well and is even used for functionality inside of the app that should happen after a certain set of events occur in the app. For instance it prompts the user to rate and review the app after the user has performed a conversion event. A similar set of events will trigger the app to prompt the user to allow push notifications.