We've been using this pattern frequently but would it make more sense in this case for `Model` to be an interface and then have `Stat` implemented by each model type?  Or keep this, I'm not certain it would be better or just end up more code with extra type coercions