While OP's framework is well-suited to an online idle game, in which you can count on a constant thread modifying ledgers on a timeout, one of the constraints for (well-made) mobile idle games is that there should be progression while the user is offline. Almost A Hero's devs took this all the way to the craziest conclusion; you don't just accumulate predictable "gift boxes" while offline, your characters actually simulate live gameplay at an accelerated rate when you next start the game, with dozens of simultaneous powerups interacting in nonlinear ways at any given time all simulated to give an accurate account of loot you would have gained had you had the app open for that time. So if you wanted to run an accurate offline simulation of the game logic, you could either store timestamps of historical, immutable events and try to derive things mathematically... or you could step frame by frame, and keep running ledgers, but you'd need to ensure that you can tick the frames based on arbitrary fractional units of time, i.e. if you have a powerup that's exactly 1.5 seconds long you wouldn't want to just round that to the nearest 1FPS frame, nor would you want to do the simulation at 60FPS when a user might have been offline for hours.
And that's just the game logic; if you actually want to animate character movement based on these values, you also need to manage declarative rendering i.e. "because I began my most recent weapon swing at time T-3, paint sprite X at time T."
All of these interactions are at play in AAH, and it's led to remarkably complex gameplay with a delightfully positive min-maxing strategy community [1].
So, returning to OP's framework, I'd encourage folks thinking about this problem to take time management into consideration as something a good idle game framework should help developers to build. It's a fun problem space to innovate in!
[0] https://itunes.apple.com/us/app/almost-a-hero/id1116630619?m... / https://play.google.com/store/apps/details?id=com.beesquare....
[1] See, for instance, the guide here: https://www.reddit.com/r/AlmostAHero/comments/706k7n/almost_... ; there's an active Discord channel as well.