Melhor arquitetura para um aplicativo iOS que faz muitas solicitações de rede?
Estou repensando minha abordagem da arquitetura de solicitação de um aplicativo grande que estou desenvolvendo. Atualmente, estou usando o ASIHTTPRequest para realmente fazer solicitações, mas como preciso de muitos tipos diferentes de solicitações como resultado de diversas ações realizadas em diferentes controladores de exibição, estou tentando descobrir o melhor sistema de organização dessas solicitações.
Atualmente, estou criando "solicitantes" singleton que são mantidos pelo delegado do aplicativo e fico ouvindo NSNotifications que sinalizam que uma solicitação precisa ser feita; eles fazem a solicitação, ouvem a resposta e enviam uma nova NSNotification com os dados da resposta. Isso resolve a maioria dos meus problemas, mas não trata de forma elegante solicitações com falha ou simultâneas ao mesmo solicitante singleton.
Alguém conseguiu criar uma arquitetura OO clara para fazer muitos tipos diferentes de solicitações em um aplicativo iOS?