1. A system for configuring a software application for performing at least one function, the system comprising: at least one memory storage comprising: an application description engine operative to: determine a structure of a graph of connected components having the components of the graph of connected components inter-connected to form the graph of connected components based at least one data event received by the application, and configure a portion of the graph of connected components for providing a first function of the application, and the software application operative to: invoke a process by the portion of the graph of connected components in response to a receipt of a data event at the first portion of the graph of connected components from the software application, and reconfigure the portion of the graph of connected components for performing a second function of the application in response to the invoked process by the portion of the graph of connected components; and at least one processing unit coupled to the at least one memory storage.