Refactoring AbstractMongoObject