Combine length and delimiter logic to allow both at once.
Refactor out no longer needed abstract classes.