##Setup
Many people have the misconception that async and sync code are mutually exclusive. This is not the case. It's easier than it seems!
If you have a method on an interface for async use, then the implementation can have zero or more awaits, and the case with zero awaits covers synchronous implementations. The code below will make this clear.
We have the following example contract that models a processor of messages:
public class Request