Code is available to the Interactive Reporting document and Interactive Reporting Studio in real time, even though it is held outside the Interactive Reporting document. The reason this occurs is because every Interactive Reporting document event is a call to the Debug Server requesting its code and passing itself as a parameter. Interactive Reporting Studio is used to execute the code. Buttons and items are clicked, events are fired, and event handlers call the Debug Server. The Debug Server examines the object, fetches the JavaScript, and returns it to the event handler as a string. The event handler completes the operation by passing the returned string through to the JavaScript eval() function and so the latest code is parsed, interpreted, and executed, all in real time. The Interactive Reporting Studio environment is thereby able to execute the code as if it were stored internally, ensuring that the document behaves as if it were running as usual, instead of being instrumented.