When an event is created, there needs to be the ability to add various Addon objects to that Event object. There will need to be various types of Addon's that we can create, which will be create-able from the admin panel.
The Addon interface will act as a "contract" so to speak. It will define the basic methods that are needed for an object to be considered an Addon while leaving the actual implementation/functionality ambiguous, and tentative for each implementation of the Addon interface.
The Addon interface will have several methods, and I thought these were the most appropriate: