Use factories instead of implementation type constructors.