Refactor the rollers out into separate classes and add tests.