We only need the factory on two beans (two modules) which are singletons. So the number of objects created whether we make the factory a prototype bean or create two beans would be the same. Creating two classes is unnecessary, you could just create two singleton beans by adding two bean definitions where you would set the `region*` properties differently. The only thing is that you would then have to inject by name, not by type (use `@Resource` instead of `@Autowired`).