made it possible to override the default proxy factory by constructor injection