1. A method for setting one or more properties of multiple instances of an object, the method performed by a computing device having a processor, the method comprising: with the processor, receiving from a user a selection identifying a template to apply to an object instance of an object of an object type, wherein the template sets one or more properties and corresponding template property values of the object instance of the object type; and in response to receiving the template selection, searching for the object instance that matches the object type of the selected template; and applying the selected template to the matched object instance of the object type, including: determining whether the template includes multiple levels of sub-objects; and in response to determining that the template includes multiple levels of sub-objects, determining whether a sub-object of the matched object instance that matches a hierarchical pattern of the selected template already exists in the matched object instance; and in response to determining that the sub-object of the matched object instance does not exist, creating a sub-object in the matched object instance according to the hierarchical pattern of the selected template and applying a template property and a corresponding template property value to the created sub-object according to the selected template.
8. The method of claim 1 wherein in response to determining that the sub-object of the matched object instance exists, applying the template property and the corresponding template property value to the sub-object according to the selected template.