Visual Studio crashed after publishing, but the publishing process
completed before the crash. A call was made to a disposed object after
the view changed, causing the disposal.
The `ListenToCompletionState` subscription was triggering a navigation
request on the `Next` callback. Depending on how fast VS responds, this
can cause the Sync section to be disposed, along with the `UIController`
instance, before the handler returns, which would cause `UIController`
to crash.
Make sure we only navigate away once the `ListenToCompletionState`
observable is completed, and also tweak the way `Dispose` happens in
`UIController` to minimize races.
See #188