1. A method of generating electronic documents, comprising: maintaining a library of textual components, displaying a first textual document including a first plurality of the textual components in a word processor window, responding to user input by a first user to an interface of the work processor to edit the first textual document while the document is displayed in the word processor window, maintaining a database of marks identifying each of the components within the document displayed in the word processor window, displaying a second textual document including a second plurality of the textual components in a word processor window, responding to user input by a second user to the interface of the word processor to edit the second textural document including a second plurality of the textual components the first plurality including one or more textual components from the second plurality, detecting when one of the textual components that belongs to both the first plurality of textual components and the second plurality of textual components is updated in one of the first and second textual documents, prompting the user of the other of the first and second textual documents to accept or reject changes made to the one of the textual components, in response to the step of updating, generating in response to user input to the interface of the word processor a second version of the first textual document that includes textual components that were updated in the step of updating, and generating in response to user input to the interface of the word processor a second version of the second textual document that includes textual components that were updated in the step of updating.