A method of fulfilling component requests received from applications within a virtual environment executing on a device having a processor and at least two hardware components that each have an associated capability, the method comprising: executing on the processor instructions configured to: upon receiving, from an application executing within the virtual environment, a component request specifying a callback of the application and one of the hardware components, the capability of which is to be invoked, store the callback associated with the component request and the application, send the component request to the one hardware component, and resume execution of the application within the virtual environment; and upon detecting a completion of the component request by the one hardware component, retrieve the callback associated with the component request, and invoke the callback on behalf of the application wherein: the completion of the component request comprises at least one component result; characterized in that the instructions are configured to, upon receiving the at least one component result from the component, generate a condensed component result having a smaller size than the at least one component result, wherein the at least one component result is aggregated over a predefined period, and wherein portions of the aggregated at least one component result are excluded from the condensed component result if they exceed a number of results per minute; and the instructions are further configured to provide the condensed component result of the component request to the application within the virtual environment. executing on the processor instructions configured to: upon receiving, from an application executing within the virtual environment, a component request specifying a callback of the application and one of the hardware components, the capability of which is to be invoked, store the callback associated with the component request and the application, send the component request to the one hardware component, and resume execution of the application within the virtual environment; and upon detecting a completion of the component request by the one hardware component, retrieve the callback associated with the component request, and upon receiving, from an application executing within the virtual environment, a component request specifying a callback of the application and one of the hardware components, the capability of which is to be invoked, store the callback associated with the component request and the application, send the component request to the one hardware component, and resume execution of the application within the virtual environment; and upon detecting a completion of the component request by the one hardware component, retrieve the callback associated with the component request, and invoke the callback on behalf of the application wherein: the completion of the component request comprises at least one component result; characterized in that the instructions are configured to, upon receiving the at least one component result from the component, generate a condensed component result having a smaller size than the at least one component result, wherein the at least one component result is aggregated over a predefined period, and wherein portions of the aggregated at least one component result are excluded from the condensed component result if they exceed a number of results per minute; and the instructions are further configured to provide the condensed component result of the component request to the application within the virtual environment. the completion of the component request comprises at least one component result; characterized in that the instructions are configured to, upon receiving the at least one component result from the component, generate a condensed component result having a smaller size than the at least one component result, wherein the at least one component result is aggregated over a predefined period, and wherein portions of the aggregated at least one component result are excluded from the condensed component result if they exceed a number of results per minute; and the instructions are further configured to provide the condensed component result of the component request to the application within the virtual environment.