Refactoring: Event instances are now a seperate entity and are generated from event seeds by event generators. In this way we have a nice separation of concerns: events simply hold an identifier (name) linking all the seeds together. Seeds contain the bulk of the data. Generators handle repeating events. Instances get all their data from seeds, and additionally have dates.