Refactor GoogleCalendar for abstraction. Sync add/delete/update only requires calling googleCalendar.sync...