Agent Component Bus
Agent Component Bus (ACB) is an asynchronous event & component driven framework for games.
Its primary purpose is to separate game logic from control logic, specifically the control of game agents (aka game AI). While agents are typically used in the context of game AI, the ACB does not need to be limited to this function as any ECS Framework based entity can be modified by components run by the ACB.
See the ACBTester project for an example.