Remove unrequired classes.
Move the recurrence interface.
Moved calendar classes.
Moved event classes.
Moved recurrence type classes.
Update the namespaces.
Simplifying the registry interface to one method.
Move app functionality to calendar class and remove redundant classes.
Remove filters parameter from method signature.
Remove set calendar method for events.
Set up factory interfaces.
Factory objects to handle generation of calendars and recurrences.
Change abstract method name.
Change handling of events to later in the process.
Change Calendar Factory to actually create a calendar.
Allow the Calendar class constructor to take a Recurrence Factory object.
Rename Recurrence Factory abstract methods.
Update properties and add a fromRegistry method.
Move events functionality and throw error if events have not been populated.
Alter the class loading path in composer.json.