Mixin for emitting events to triggers/observers.
///All observers for a specific event.
///Callback that is invoked when a system is ran. When left to NULL, the default system runner is used, which calls the "callback" action for each result returned from the system's query.
///It should not be assumed that the input iterator can always be iterated with ecs_query_next. When a system is multithreaded and/or paged, the iterator can be either a worker or paged iterator. Future use cases may introduce additional inputs for a system, such as rules and filters. The correct function to use for iteration is ecs_iter_next.
///An implementation can test whether the iterator is a query iterator by testing whether the it->next value is equal to ecs_query_next.
///