Two different option variables are introduced here for synchronous/asynchronous.  Is this intentional - I'd have thought a single variable would be easier and more direct?