My thinking right now: a Setup has a StageDiagram. Performances have many Sets that are ordered using the acts_as_a_list gem. Sets are initialized to use the title and StageDiagram of a particular Setup. This way, they inherit those properties but can later be customized without changing the original Setup.