Add Model.execute, refactor Document.save and improve Document.merge (previously replace)