This uses more Cocoa classes to draw the lines, making it easier to understand and hopefully maintain. Furthermore, we use less memory now, which is nice, but all the dynamic arrays probably mean more CPU usage.