I can call the following 3 methods, which all achieve the same delay of 2 seconds, in 12 different ways.
I'm interested in the underlying details of these 12 different calls differ under the hood. Exactly what does each do behind the scenes and how do they differ?