Let say we have 2 dialog instances: ``` var dialogA = new... var dialogB = new... ``` Now this code will fail (the dialog A will show two times, but second await will never continue): ``` await dialogA.ShowAsync(player); await dialogA.ShowAsync(player); ``` But this one will work as expected: ``` await dialogA.ShowAsync(player); await dialogB.ShowAsync(player); await dialogA.ShowAsync(player); ```