Use async/await where applicable instead of using SynchronizationContext/Dispatcher