1. A computer implemented method for developing a modular software component, the method comprising: providing a graphical user interface adapted to accept operator inputs; defining, through the graphical user interface, a hierarchical representation for at least one software component, the at least one software component each comprising a selected software module, at least one child execution module, and a parent software module, wherein the selected software module is a child of the parent software module and a parent of the at least one child execution module; associating, through the graphical user interface, the selected software module with an event external to the software component; and creating the software package defined by the hierarchical representation, wherein the selected software module is adapted to initiate, independently of execution of the parent software module and in response to the external event, execution of the at least one child execution module.