1. A computer-implemented method having instructions executable by a processor, comprising: receiving one or more application program interface (API) calls from one or more remote devices over a network to an application program interface (API), wherein the API includes a set of base classes and types that are used in substantially all applications executing on the one or more remote devices, wherein the set of base classes and types comprises: an AsyncCallback delegate supplied to an application, wherein the AsyncCallback delegate references a callback method to be called when a corresponding asynchronous operation is completed; and an IAsyncResult interface that enables a determination of a status of an asynchronous operation, wherein the IAsyncResult interface includes: an AsyncState property that returns an object that was provided as a last parameter as part of a Begin call corresponding to the asynchronous operation; an AsyncWaitHandle property that returns a WaitHandle that can be used to allow the application to wait for a call to be completed without needing to poll; a CompletedSynchronously property that is set to true if the Begin call corresponding to the asynchronous operation completed synchronously; and an IsCompleted property that is set to true after processing if the asynchronous operation is complete; and performing a function requested in each of the one or more calls.