I don't know what the right answer is, but I pose the following questions:

1. if we switch to synchronous and someone presses the "update" button, then it takes a while causing the user to hit "refresh", then do we have two simultaneous synonym updates? does that create problems? is that likely to happen?
2. if we switch to synchronous, what happens if the page times out?
3. if we leave it like it is, how does the user know when the synonyms have been updated? should they keep refreshing the page to see the status? what happens if the synonyms never get updated because there's an error in the task or something?

We have some infrastructure for reindexing that accounts for most of these issues. Maybe we can re-use that infrastructure? I think it might be something like creating a record, updating it in the task and checking to see if there are outstanding records in the web page.