Rather than setting params and then having to do b/c handling below is there any reason why we can't have the renderer as a third param of the constructor?