1. A method for generating a financial model, implemented by one or more processors programmed by a set of instructions to perform the steps of: collecting data in a multi-user peer-to-peer collaborative environment over a data network by: issuing functor requests through a workflow router to users for data and programs; receiving one or more functor objects from the users, wherein one or more functor objects comprise collections of variables which can be acted on by methods and wherein said one or more functor objects is received in response to the functor requests and contain the data and programs from the users; the one or more processors generating a financial model, comprising a simulation framework based upon the received one or more functor objects; wherein said simulation framework includes a variety of classes, wherein one or more of the classes corresponds to a variable template and method used to create and manipulate a functor object, by: (a) inputting functor objects into the financial model; and (b) using the variable template and method of one or more of the variety of classes included in the simulation framework to manipulate the collections of variables represented by the one or more functor objects.