Initial take at breaking out functionality from the Overlaps module and the Input Parser.
Refactor and break out main Overlaps module logic and Overlaps::InputParser logic
into smaller objects.
Move range validation logic down to the PseudoRange level along with minor
refactorings.
Complete the refactor and re-do tests.