Some terrible javascript architecting. Need to do some mixin stuffs so that functions can actually access instance variables like character widths