Using Model as a base class, ::has_many works, ::belongs_to doesn't
Moved class name generation of Model::has_many into the block to avoid errors, finished Model::belongs_to
Added :id readers back in, changed source to foreign_key