Design

The following diagram details the design of the Generate Tool: