WellProductionProperties and WellInjectionProperties are currently representing both history matching and control mode data. This may create some confusion as to the meaning of terms such as BHP, OilRate etc. as these may be limits set for simulation or historic data. Having separate classes would enable inferring the meaning of these terms from context.
Perhaps these should be split in different types representing historic and control mode data separately?