Added prototype pattern implementation and associated unit tests.