Fix ordering of dismissal delegate call

Now sends `userVoiceWasDismissed` to the delegate only after UserVoice was actually dismissed.