Factory pattern updates