Public setters leads to property injection

This pretty much invalidates the tests that uses null comparison to
decide which constructor is chosen. Making setters private only fails
the test with ServiceOverride.ForKey