I think this kind of validation more properly belongs in the lib classes, otherwise when we run it from places other than rake tasks, we lose these useful `raise`s.