Immutable canvases

To QA:

- [x] Each job should be run with a new, cloned canvas.