1. In a computer-based editing system for editing a time-based media program, a method comprising: the editing system receiving an instruction to associate metadata with a selected portion of the program, the selected portion being indicated by at least a position in time in the time-based media program, the metadata conforming to a metadata specification and having a type; the editing system determining a type of the metadata, wherein the type of the metadata is one of a predetermined set of metadata types; the editing system identifying a software component from among a plurality of software components available to the editing system, wherein the identified software component is configured to process metadata of the determined type, wherein the editing system and the plurality of software components read and write metadata conforming to the metadata specification; and the editing system associating the metadata with the selected portion of the program by providing the metadata and context information of the editing system to the identified software component, executing the identified software component to process the metadata according to the context information, and receiving data from the identified computation component resulting from such processing.