switched Controller::renderLoop to return error messages instead of exiting on ending