#15 - DRY up sync.update