Cleaning up and commenting of the abstract class DatesEnumerator