Unlike other autonomous algorithm, loop must have access to everything directly in the prepare method so it can properly setup everything for validation.