onBegin gives opportunity to check keys once and call update on entities only when one key is pressed.
Update is called multiple times in one "manager.update()" call. Number of "onUpdate" calls is count of buffers which must be updated during pass. When multithreading is used, number of "onUpdate" calls can be greater due to fact that JobSystem can split buffers for better data packing.
System is responsible for movement of objects with CInput component. In this example every entity has same speed when using movement system.