extracted logic from ControllerFactory into InjectionProvider
only inject field if dependency esists in InjectionProvider
InjectionProvider now calls methods annotated with PostConstruct