1. A computer-readable storage medium that is not a propagating signal storing computer-executable instructions for controlling a computing device to process transactions of a first application by a method comprising: receiving by the first application a message to be sent to a first remote service via a network; when the computing device is not currently connected to the network, storing the message at the computing device; requesting by the first application a store-and-forward application to provide a network connection notification to the first application after the store-and-forward application detects that the computing device is connected to the network, the store-and-forward application being adapted to detect when the computing device is connected to the network so that the store-and-forward application can send messages to a second remote service that is different from the first remote service; and after receiving the network connection notification provided by the store-and-forward application, retrieving by the first application the stored message; and sending by the first application the retrieved message to the first remote service via the network.