Use Specification to handle determining ght right factory to use.