Verifique se o modelo é válido fora do controlador

Eu tenho uma classe auxiliar que é passada uma matriz de valores que, em seguida, é passada para uma nova classe do meu modelo. Como posso verificar se todos os valores atribuídos a essa classe são válidos? Em outras palavras, como eu uso a funcionalidade do ModelState em uma classe não-controladora.

Do controlador:

public ActionResult PassData()
{
    Customer customer = new Customer();
    string[] data = Monkey.RetrieveData();
    bool isvalid = ModelHelper.CreateCustomer(data, out customer);
}

Do ajudante:

public bool CreateCustomer(string[] data)
{
    Customter outCustomer = new Customer();
    //put the data in the outCustomer var
    //??? Check that it's valid

}

questionAnswers(2)

yourAnswerToTheQuestion