begin adapting componentApi and componentImpl for non-leaf component cases

first step here is to not put in an injection for traits with no decls