Add construct for factory methods