1. A system for configuring a software application for performing one or more functions, comprising: an application description engine operative to determine a structure of a graph of connected components comprising the software application and which of the components of the graph of connected components are connected to other of the components of the graph of connected components to form the graph of connected components based on one or more data events received by the application; to configure a portion of the graph of connected components for providing a first function of the application; the software application operative to invoke a processing by the portion of the graph of connected components in response to receiving a data event at the first portion of the graph of connected components from the software application; and to reconfigure the portion of the graph of connected components for performing a second function of the application in response to receiving a data event at the first portion of the graph of connected components from the software application.