1. A method for reviewing previously recorded and real-time user session data of presentation layer protocol data, the method comprising: (a) establishing, by a server, a shadowing agent service and a user session comprising a single presentation layer protocol stack for communication with a client agent; (b) receiving, by the shadowing agent service, a connection request from a first shadowing tool executing on a computing device; (c) initiating, by the shadowing agent service, a rollover operation responsive to receipt of the connection request; (d) receiving, by the first shadowing tool, a streaming real-time presentation layer protocol data stream from the shadowing agent service executing on the server, the streaming real-time presentation layer protocol data stream including a data stream received from a second shadowing tool containing keyboard input events; (e) receiving, by the first shadowing tool, a recorded presentation layer protocol data stream from the shadowing agent service; (f) determining, by the first shadowing tool, whether to combine, the streaming real time presentation layer protocol data stream including the data stream received from the second shadowing tool containing keyboard input events, and the recorded presentation layer protocol data stream, in order to control the user session; and (g) combining, responsive to the determination by the first shadowing tool, the streaming real-time presentation layer protocol data stream including the data stream received from the second shadowing tool containing keyboard input events and the recorded presentation layer protocol data stream producing a single output stream.