A method for use with a spreadsheet presented by a spreadsheet application, wherein the spreadsheet includes multiple cells, and the spreadsheet application represents a particular cell with a cell model including a reference to the location of the cell, a spreadsheet cell value, spreadsheet formula and spreadsheet cell formatting; said method comprising: storing a cell object in a cell objects pool, the cell object comprising a location in the spreadsheet of a cell to which the cell object relates, and a formula associated with the cell that performs a process on a first complex object; using the formula comprised in the cell object to access the first complex object stored in a complex objects pool and performing the process on the first complex object that is dictated by the formula to produce a result comprising a second complex object, the first complex object comprising a construct comprised of data and code, wherein the data is complex data having any data type that is not a native data type of the spreadsheet program, and wherein the second complex object has a structure that is the same as a structure of the first complex object, generating a display for the cell that is based on the result, wherein the display comprises an identifier for the second complex object, and wherein the method further comprises: providing the identifier for display in the cell; and generating a nested spreadsheet that is associated with the identifier, the nested spreadsheet comprising a second spreadsheet that is separate from the spreadsheet containing the cell, the nested spreadsheet comprising information from the second complex object. storing a cell object in a cell objects pool, the cell object comprising a location in the spreadsheet of a cell to which the cell object relates, and a formula associated with the cell that performs a process on a first complex object; using the formula comprised in the cell object to access the first complex object stored in a complex objects pool and performing the process on the first complex object that is dictated by the formula to produce a result comprising a second complex object, the first complex object comprising a construct comprised of data and code, wherein the data is complex data having any data type that is not a native data type of the spreadsheet program, and wherein the second complex object has a structure that is the same as a structure of the first complex object, generating a display for the cell that is based on the result, wherein the display comprises an identifier for the second complex object, and wherein the method further comprises: providing the identifier for display in the cell; and generating a nested spreadsheet that is associated with the identifier, the nested spreadsheet comprising a second spreadsheet that is separate from the spreadsheet containing the cell, the nested spreadsheet comprising information from the second complex object. providing the identifier for display in the cell; and generating a nested spreadsheet that is associated with the identifier, the nested spreadsheet comprising a second spreadsheet that is separate from the spreadsheet containing the cell, the nested spreadsheet comprising information from the second complex object.