In order for our drawing logic to work properly, we need to move the “relative offset” cursor position calculation out of our HtmlElement abstraction and into our drawing logic. We solve the problem by exposing our relativeOffset() function as a method on HtmlElement. It turns out to be trickier than expected.