A computer-implemented method for speculatively processing application event responses, the method comprising: identifying a plurality of event responses (204, 206, 208) that could be issued for processing by an application executing on a computing device (100, 600); determining whether processing a first event response included in the plurality of event responses requires an interaction with at least one resource included in the computing device other than a system memory; selecting a first type of speculative processing of the first event response upon determining that the first event response requires an interaction with the at least one resource, when the first type of speculative processing is selected, generating a clone process (304, 404, 504) to process the first event response that is a clone of a master process (302, 402, 502) that causes the application to execute on the computing device; determining whether processing a second event response included in the plurality of event responses requires an interaction with the at least one resource; and selecting a second type of speculative processing of the second event response upon determining that the second event response does not require an interaction with the at least one resource, wherein when the first type of speculative processing is selected, generating a clone process (304, 404, 504) to process the first event response that is a clone of a master process (302, 402, 502) that causes the application to execute on the computing device, whereby responsive to selection of the first type of speculative processing, the speculation engine clones the process within an execution space allocated to the application and issues the first event response for processing within the cloned process, and wherein responsive to selection of the second type of speculative processing, the speculation engine generates a transaction within the execution space allocated to the application and the second event response is processed within the transaction. identifying a plurality of event responses (204, 206, 208) that could be issued for processing by an application executing on a computing device (100, 600); determining whether processing a first event response included in the plurality of event responses requires an interaction with at least one resource included in the computing device other than a system memory; selecting a first type of speculative processing of the first event response upon determining that the first event response requires an interaction with the at least one resource, when the first type of speculative processing is selected, generating a clone process (304, 404, 504) to process the first event response that is a clone of a master process (302, 402, 502) that causes the application to execute on the computing device; determining whether processing a second event response included in the plurality of event responses requires an interaction with the at least one resource; and selecting a second type of speculative processing of the second event response upon determining that the second event response does not require an interaction with the at least one resource, wherein when the first type of speculative processing is selected, generating a clone process (304, 404, 504) to process the first event response that is a clone of a master process (302, 402, 502) that causes the application to execute on the computing device, whereby responsive to selection of the first type of speculative processing, the speculation engine clones the process within an execution space allocated to the application and issues the first event response for processing within the cloned process, and wherein responsive to selection of the second type of speculative processing, the speculation engine generates a transaction within the execution space allocated to the application and the second event response is processed within the transaction.