better unit test and support private setter injections