More and more work on the structure of the application, still in a tangle with the canvas, an initial redraw and lifecycle. Now want to separate the simulation into it's own service, possibly.