Move Fact.from_string_values + validations to Fact::Factory