Moved from abstract class to trait. Renamed from Mongo to Document. Added exceptions.
Added more exceptions. Improved mapping code. Refactored again.