1. A computerized method for providing at least one memory value present in computer memory during execution of a program procedure to be automatically available to an asynchronous callback procedure executed later, comprising: receiving a code containing at least one program procedure, said at least one program procedure having at least one input parameter to be executed as an asynchronous callback procedure; replacing said at least one program procedure in said code with at least one wrapper procedure, where each of said at least one wrapper procedure comprises instructions for: storing at least one memory value; storing said asynchronous callback procedure of said at least one input parameter; replacing each of said at least one input parameter with a wrapper callback procedure, said wrapper callback procedure comprising instructions for restoring said at least one memory value and executing said asynchronous callback procedure; and executing said at least one program procedure; executing said code with said at least one wrapper procedure, providing said at least one memory value present during execution of said program procedure to be automatically available to said asynchronous callback procedure executed later.