1. A method for providing iterative development of a generated presentation, comprising the steps of: creating a high level presentation; automatically generating a concrete presentation from said high-level presentation; editing said concrete presentation by performing at least one editing step on said concrete presentation; storing a history of said at least one editing step in an edit history; modifying the high level presentation; automatically re-generating a revised concrete presentation based on said modifying of the high level presentation; and applying said edit history to perform said at least one editing step on said revised concrete presentation to generate an edited revised concrete presentation.