Cleaned up some logic, added LightGroup and Light.