One or more computer storage media having computer-executable instructions embodied thereon that, when executed, by one or more processors, causes the one or more processors to perform a method for implementing a proxy object system, the method comprising: intercepting a task request directed to a driver component (150, 206); determining whether the task request is an Input/Output, I/O, task or a session task that opens a file handle to access a file; keeping track of active I/O tasks using a proxy count object when the task request is an I/O task and generating a proxy reference object when the task is a session task, wherein the proxy count object is implemented as a counter being increased when the I/O task is processed as an input and being decreased when the I/O task is processed as an output, and wherein the proxy reference object is implemented as a pointer to a corresponding reference object at the driver component, wherein the proxy reference object is deleted when the driver component has completed processing the session task associated with the reference object; communicating the task request to cause processing of the task request at the driver component; receiving a modification indication to modify the driver component; initiating a standby mode that executes standby operations, wherein the standby operations comprise: finalizing I/O tasks being processed by determining that the counter for active I/O tasks is at zero; determining that a reference object corresponding to the proxy reference object is closed at the driver component when the file handle associated with the proxy reference object is closed; and placing the proxy reference object and one or more new task requests, being received, in a pending state; determining that the driver component has been modified to a modified version of the driver component; and initiating a recovery mode that executes recovery operations, wherein the recovery operations comprise: communicating a request to cause a reference object to be regenerated for the proxy reference object in pending state; and communicating the one or more new task requests in the pending state for processing at the driver component. intercepting a task request directed to a driver component (150, 206); determining whether the task request is an Input/Output, I/O, task or a session task that opens a file handle to access a file; keeping track of active I/O tasks using a proxy count object when the task request is an I/O task and generating a proxy reference object when the task is a session task, wherein the proxy count object is implemented as a counter being increased when the I/O task is processed as an input and being decreased when the I/O task is processed as an output, and wherein the proxy reference object is implemented as a pointer to a corresponding reference object at the driver component, wherein the proxy reference object is deleted when the driver component has completed processing the session task associated with the reference object; communicating the task request to cause processing of the task request at the driver component; receiving a modification indication to modify the driver component; initiating a standby mode that executes standby operations, wherein the standby operations comprise: finalizing I/O tasks being processed by determining that the counter for active I/O tasks is at zero; determining that a reference object corresponding to the proxy reference object is closed at the driver component when the file handle associated with the proxy reference object is closed; and placing the proxy reference object and one or more new task requests, being received, in a pending state; finalizing I/O tasks being processed by determining that the counter for active I/O tasks is at zero; determining that a reference object corresponding to the proxy reference object is closed at the driver component when the file handle associated with the proxy reference object is closed; and placing the proxy reference object and one or more new task requests, being received, in a pending state; determining that the driver component has been modified to a modified version of the driver component; and initiating a recovery mode that executes recovery operations, wherein the recovery operations comprise: communicating a request to cause a reference object to be regenerated for the proxy reference object in pending state; and communicating the one or more new task requests in the pending state for processing at the driver component. communicating a request to cause a reference object to be regenerated for the proxy reference object in pending state; and communicating the one or more new task requests in the pending state for processing at the driver component.