styling and more complex test shapes
switched updateOnCallback to updateInterval
only trigger update when content has changed
significantly improved performance by reusing dom elements
js-file restructuring