Huge improvements to the design
Main problem here is that display() is blocked by update() and the update rate will slow down if the display rate slows below the update rate