Smooth scroll; yet more refactoring.