Renamed ShadowInterface to ShadowBase for consistency