Avoiding separate factory constructors for mapping engine