Reimplement some of the Trajectory methods using an internal Iterator class