Engine supports re-running un-run paths (multiple calls to render())
Various cleanups in coding style