Split CameraController out of runner. Make state global.