move controller DI from factory to internal lazy loading