You should not [use mutables as argument defaults](http://effbot.org/zone/default-values.htm), use None as default and instantiate a new dict in the method:

```python
def __call__(self, context, properties=None):
    properties = properties or {}
```