Use trait + interface instead of base class
Document basics no longer include lazy loading or field mapping
Implementing field mapping, soft deletion or sorted changes behaviour of document or data mapper