Refactored constructor for ancestors of abstract iterator