1. A system for managing transactions, comprising: a computer processor; a first thread executing on the computer processor and comprising an outer atomic transaction having a first instruction to write a first value to a first variable; a second thread, executing in parallel with the first thread, comprising an inner atomic transaction having a second instruction to write a second value to the first variable, wherein the inner atomic transaction is nested within the outer atomic transaction; a first value node created by the outer atomic transaction and storing the first value in response to execution of the first instruction; a second value node created by the inner atomic transaction, storing the second value in response to execution of the second instruction, and comprising a previous node pointer referencing the first value node; and a first reference cell associated with a starting value for the first variable, comprising a first node pointer, and configured to: receive a first request to read the first variable after the inner atomic transaction is committed and before the outer transaction is committed, and return the starting value in response to the first request, wherein the first node pointer references the first value node before creation of the second value node, and wherein the first node pointer references the second value node after creation of the second value node.