Abstracted some definition code
Implemented the new way to define model definitions
Cleanup
Removed an unused import
Merge pull request #355 from GrahamCampbell/definition

[3.0] Abstracted Some Definition Code