use a Collection for EngineSystems in the Engine, and make use of the PriorityQueue