It feels kind of weird to pass this property through the agent as the only way of getting it into the report class. Does the agent itself actually need this property for anything? One solution, without compromising the unit testability of this class (;-)) would be to use a factory to create the report, and the factory method would call variable_get to get the confidence measure setting and then inject it into the report class's constructor. This is just a suggestion, and doesn't make sense if the agent itself does need to know about this property (or might in the future.) What do you think?