Raytracer: now with more object orientation