What would you expect to happen in the scenario where a developer instantiates a MongoTripod object, then calls save changes twice 

```
$tripod = new MongoTripod().

try{
  $tripod->saveChanges()
} catch () {
}

try{
   $tripod->saveChanges(...)
} catch() {
}

``` 

0. Read preference is ``x``
1. instantiate MongoTripod
2. call saveChanges to make changes to a document
3. tripod Original Read preference is ``x`` , setReadPreference to ``RP_PRIMARY``
4. BANG something goes wrong here, so resetReadPreference is never set back 
5. call saveChanges to make changes to another document
6. tripod Original Read preference is now gets set to ``RP_PRIMARY`` . setReadPreference to ``RP_PRIMARY`` <- at this point it wont know anything else?