Just curious, why don't you use a property setter for the provider just above? Hiding complexity is bad but here it looks to make sense.