bigger refactoring: separate split and unsplit into their own classes
move the common constants and one method from the splitter & unsplitter classes into a shared module