1. A computer implemented method for traversing a process tree in a digital video editing system, the method comprising: (a) loading the process tree into the digital video-editing system, wherein: (i) the process tree comprises one or more parent nodes and one or more child nodes; (ii) each of the parent nodes is dependent on output data from at least one child node; (iii) each parent node and each child node represents a digital video processing task to be performed during a traversal of the process tree to generate a digital video output; (b) each parent node declaring a data definition and data default values, wherein the data definition defines a structure of the data used by that parent node; (c) traversing the process tree, to generate the digital video output, by processing each of the one or more parent nodes and each of the one or more child nodes in the logical order, wherein: (i) for each parent node being processed, determining if the data definition for the output data received from a dependent child node is compatible with the data definition declared for that parent node; and (ii) when the data definition is incompatible, the parent node utilizing the data default values;