Updated Event class and added RecurringEvent class