How to design time-offset entities with component based design?

I’m very new to both Unity and Component based design and trying to port an existing game.
It’s not a tower defense, but for the sake of brevity the enemies come in time offset waves and the individual enemies within the wave are also time offset.

In the current implementation there’s a GameSession which controls the play state and like with Unity has an update loop that propagates the passing of time through it’s children (the waves > enemies).

The enemies aren’t rendered and don’t begin moving etc until their relative time offset arrives.

How can I handle this kind of scenario with a component based approach?

The common practice is to have some global object with useful scripts attached. You can create empty object, add to it your spawn script, and in this script control current time in Update method. If specific amount of time passed, you can trigger spawning a wave and reset the timer.