Add a Factory Method Pattern and an unit test for it.