Automatic render shutdown

Closes #180
Good question! Because our code treats the channel as immutable. Changing the code to always treat it as mutable is hard, if possible. `Cell` used to work around the mutability.