Split physics engine and iterator for clarity