1. A method for creating software, comprising: providing a plurality of nodes and a directory of applications, each of an application being created by use of at least a portion of the plurality of the nodes, wherein the at least a portion of plurality of nodes includes at least one task node interfaces with external components to exchange data information; selecting at least a portion of the plurality of nodes to create a selected node layout that represent a plurality of application logics, wherein the selected nodes in the selected node layout have parameters and properties values can be changed dynamically based on business rules; executing the selected node layout by a server program, wherein the application logics are directly executed without compilation, and the application logics can be paused and saved during execution, the saved application logics can be restored and execution resumed on a copy of the server program on a computer other than where is was initially started; visually showing the selected node layout as a visual node layout; monitoring a flow of control through each node in the node layout during execution by showing individual node execution measurement; wherein the individual node execution measurements include usage totals, whole execution time and average execution time; and employing a solution engine that uses networked objects to follow and manage user sessions, wherein the solution engine interfaces with an observation, personalization and pricing engine as directed by specific nodes.