1. At a computer system, a method for dynamically building a software application, the method comprising: an act of receiving an indication that a software application is to be initiated; an act of receiving an application description including one or more tags describing software objects that are to be included in the software application; an act of automatically mapping portions of the application description identified by the tags to one or more software objects using reflection, the reflecting including accessing properties associated with the software objects; and an act of automatically binding properties of the software objects to the portions of the application description based on one or more declarative rules included in the software object properties associated with the software object.