Seems to be working alright
In fact, we can even get rid of the __tablename__ thing.
Some better documentation.
Added tests for new models, fixed relationship