Better *Factory implmentation.