so far I understood that every ComponentSystem can create its own ECB, but I am not sure if this is a good practice as I can see that in some examples the ECB from special systems are used instead. these are for example BeginSimulationEntityCommandBufferSystem and EndSimulationEntityCommandBufferSystem. My guess is that local ECBs are flushed too often. I understand that ECBs are nothing more than queues, but I assumed that the framework was taking care of them, instead it seems that it can be up to the user to flush them when necessary. The flush happens on the mainthread (as far as I understood). are these special systems just for convenience? Can I use a custom ECB and flush it when I want? Is it a good idea to inject the ECB into other systems and use in them? Currently I am thinking to have a custom Buffer System that my system can get through the world and get the ECB from it.