Added support for private constructors in Injector::instantiate()