1. A method for managing parallel resource requests in a portable computing device, comprising: generating a first request from a first client, the first request issued in the context of a first execution thread; forwarding the first request to a resource; acknowledging the first request by the resource and initiating asynchronous processing; processing the first request in the resource while allowing the first client to continue processing in the first execution thread; signaling, by the resource, completion of the processing of the first request; receiving in the resource a second request, the second request causing completion of the processing of the first request, the completion of the processing of the first request including updating a local representation of the resource to a new state and invoking any registered callbacks, the resource becoming available to service the second request; and processing the second request in the resource.