Immutable canvases

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