1. A method comprising: receiving a request to instantiate an instance of a thread-local manager for a particular thread-local variable of a particular thread, wherein the instance of the thread-local manager only has access to the particular thread-local variable; instantiating the instance of the thread-local manager; providing global visibility to the instance of the thread-local manager, wherein the global visibility enables the instance of the thread-local manager to manage all thread-local variables of the particular thread, wherein prior to providing the global visibility, all of the thread-local variables other than the particular thread-local variable are restricted to be managed by other corresponding instances of thread-local manager; calling the instance of the thread-local manager to manipulate all thread-local variables corresponding to the particular thread; and sending a single command to the instance of the thread-local manger to remove all the thread-local variables when the particular thread completes a task.