If I'm not mistaken, declaring the default for the param as an empty dictionary could affect subsequent calls to the method, since the dictionary is created only once at this scope. Since you want a brand new, empty dictionary every time you pass no arguments, I think the standard way to do it would be to change the signature for the function to:

```python
def create(self, **options):
```