Made camera abstract to let developers put own controls