When I did the challenge, I did it quite differently but your solution is more reusable/generic.
However, putting the load inside the WaitForTime method doesn’t seem like best practice - or at least it isn’t obvious by the method name that it is going to wait and then load a scene. Wouldn’t a specific “LoadStartScreen” that is called from Start() when the if detects you’re on the splash screen be more appropriate?