Moved accessor generation to its own class
Moved model classes into their own files
Extended class hierarchy
Some simple structural changes