Pulling out update code from GoogleCalendar as it had too many responsibilities.