Refactored some propagator code to prepare for 3D version.