1. A method for generating a template for creating data comprising: providing data upon which the template will be based; creating a metadata file associated with the template and the data, wherein the file is coded at least in part in a declarative programming language; and packaging the data and the associated metadata file into a single transferable file wherein the metadata file provides information regarding the template contents and template creation process and wherein the metadata file determines whether the data to be created will be created in a separate folder for the data.