Light and PointLight classes are refactored