rapidftr/tracker#28 refactor - extracting scrolling logic into seperate class to enable testing