Use TaskCompletionSource to turn an event or callback based model into a Task based one
Explore the inner workings of a highly capable IoT display driver for the ESP32
Explore adapting Socket's async model to a task based one and adding some awaitable socket operations to your projects
Using await in scenarios where you want to await custom items with or without using Task.Run()