Why do we need to use asynchronous method?
To allow a unit of work to run separately from the primary application thread. When completed it notifies the main thread.
What effect does the await keyword have?
It suspends the calling method and yields control back to its caller until the awaited task is complete.
What return types are allowed for asynchronous methods?
Task and Task