Add Factory Pattern Demo