@wesm dict with `__missing__`? that way once you've instantiated there's no hit.  I was thinking you have a second dict that maps freqstr: function (or whatever it should be called) and then function gets called with the freqstr. (and either offset constructor can be called with one arg or you make a classmethod/function that parses the string and converts).  So something like:

```python
def __missing__(self, key):
     _offset_method_map[key](key)
```