draw each line separately to allow for positioning
coalesce logic in dispatch
drawing lines is separate from determining which lines to draw
compute previous page content similarly to next page