use __proto__ for dependancy injection