Fixing implicit merge conflict of Light re-factoring and ChainLight

After Light re-factoring the setDistance method became abstract and must be defined correctly for consistent behavior of constructor and explicit setDistance calls.