Add Factory Method And Static Factory Patterns.