Separate implementation of ModelValidation

Fixes an item in #47.