Don't understand why it's necessary to extend an empty object. Is it because you need to shallow copy the object because itself might be changed later? I'd just do:
```javascript
if (!options)
  options = {};
```