factory design pattern disadvantages