1. A method for configuring a software application, the method being executed by a computer having one or more physical processors programmed by computer program instructions that, when executed, cause the one or physical processors to perform the method, the method comprising: providing, by the one or more physical processors, access to one or more configuration utilities of a software application; receiving, through the one or more configuration utilities, one or more user inputs that specify one or more data or event handlers used to customize an operation of the software application, wherein the one or more configuration utilities are related to the software application such that the software application is self-configuring based on the one or more user inputs; defining the one or more data or event handlers to be used in the software application based on the one or more user inputs; building one or more displays of the software application, wherein the one or more displays are: (i) configured with the one or more configuration utilities of the software application, and (ii) cause the one or more data or event handlers to be triggered; and displaying a populated user interface associated with the software application, wherein the populated user interface includes the one or more displays configured with the one or more configuration utilities; wherein the one or more configuration utilities expose a framework associated with the software application, and wherein the exposed framework includes a hierarchical metadata structure that contains one or more data elements within the one or more displays, the one or more displays within one or more chapters that describe relationships among the one or more data elements, and the one or more chapters within one or more groups that assign one or more roles to one or more users.