Custom DataSource for dynamic data

Hi everyone,

I want to visualize many entities that can change over time (while also allowing the user to move between past, realtime, future).
The information about these entities is also constantly evolving: when the visualization is loaded, the app has a given knowledge of the entities in the future, but 5 minutes later the app can receive updated information on what each entity should look like at different times in the future.

Is implementing a custom DataSource the correct way to go, or I am looking in the wrong direction?
Is there any resource I can read about similar use cases?

I would also like to understand how the DataSource is used by the CesiumJS engine.
Does the engine iterates over the entityCollection for each frame? or it subscribes to changes and maintains its own internal representation of the visualization?
Again any reference where I can learn more is greatly appreciated!