add GoogleCalendarEvent
rewrite spec to use contexts