Split up Factory Patterns into two.