There are two ways for systems to communicate (afaik): 1- System that wants to give the command creates an entity with specific component, then the system who wants to receive the command reacts on that component. 2- System that wants give the command gets the other system with "GetOrCreateSystem" method. And calls methods on it directly. The second way seems a bit off. Since it creates coupling. But I have seen people doing it now and then. Is it a good practice?