The template calls ((next period)) to calculate the next period, and returns when it begins using ((period start)). This saves having two lists of dates to update and maintain.