Unrelated models should not share fields! Oops!

Major refactor of the ModelMeta to sort things out. Thank God for tests!