1. A method implemented on a computing device having at least one processor, the method comprising: deploying a first version of code to a target machine, the target machine part of the computing device, the first version of code to be debugged on the target machine; utilizing a graphical interface on the target machine to accept user input for use in debugging the first version of code on the target machine; receiving, via the graphical interface, an indication to end debugging of the first version of code; in response to receiving the indication, spawning a thread to send instructions to the target machine to retract the first version of code from the target machine, the thread operating as a background process running on the computing device while changes are made in parallel to a copy of the first version of code in a separate process on the computing device; and while retracting the first version of code, automatically preparing the target machine to subsequently execute a second version of the code, wherein the second version of the code executes upon complete retraction of the first version of code.