I have an ERP-style system that needs to allow users to orchestrate an Entity.action() on a variety of objects that implement the Entity interface, at different datetimes. Calling action() would change the Entity state.
What design pattern/architecture would be appropriate to allow users to store and manipulate a logical grouping of actions at various datetimes, maintaining a good level of abstraction so that it works on the Entity interface?
The Entities are all in a low-bandwidth IOT network (therefore open-loop control); there's no real-time control feedback and they update their own internal calendars via occasional downlink. Telemetry data would be stored and referenced separately.