1. A method of creating a program executable on an industrial controller to control an industrial process, the method comprising: providing a plurality of templates from at least one library, wherein each template has at least one respective control variable; receiving selections of at least some of the plurality of templates; identifying at least some of the control variables as replacement fields; creating at least one interface mapping to link to the replacement fields, wherein the first and second templates linked by the interface mapping form at least a portion of a compound template; and instantiating an object using the compound template, wherein the object forms at least a portion of the control program.