Refactored to use canvas text rather than divs