Abstracted out model generator.