Это довольно забавно, потому что у вас есть та же проблема с толстыми клиентами в Windows CE, поскольку они оставили (или имели в то время, когда я кодировал) одно из удобных событий для захвата исключений пользовательского интерфейса в Compact Framework.
То, как мы в конечном итоге решили ее (что было довольно просто, поскольку оно было задумано как безумно настраиваемое решение), заключалось в том, чтобы проталкивать все «действия» одним методом. Это позволило нам разместить обработку исключений в одном месте.
Если вас беспокоят обращения к облаку, разве невозможно протолкнуть их одним способом? Или альтернативно, если ввод / вывод в основном идентичен методу, который принимает делегата в качестве параметра? Возможно, даже общий делегат?