1. A computer-implemented method for processing a template, the method comprising: receiving a first template at a first computing device, the first template comprising: a plurality of layout instructions specifying a layout of input data in a document to be generated from the first template, a plurality of template-processing instructions, the template-processing instructions specifying how to bind input data to the document, the plurality of template-processing instructions comprising a first template-processing instruction dependent on a first template parameter associated with input data available only at the first computing device and a second template-processing instruction dependent on a second template parameter associated with input data available only at a second computing device, and an annotation associated with the second template parameter, the annotation indicative of the availability of input data only at the second computing device; identifying the second template-processing instruction for evaluation at the second computing device based at least in part on the annotation; processing the first template at the first computing device based on input data available at the first computing device to generate a second template, wherein processing the first template at the first computing device comprises embedding, at the first computing device, the second template-processing instruction in the second template such that the second template is both a template and a valid document for display at the second computing device, wherein the second template-processing instruction is not evaluated at the first computing device.