Add missing implementations to ShadowColor

It should still call the implementation here rather its own. The easiest way to verify the behavior is to write a very simple test!