Okay, better way to do this would be to move the methods on to DateOffset, so you always call from there and then allow DateOffset to call down to tslib instead.

E.g.: could have:

```python
def get_period_ordinal(self, dt):
    return tslib.period_ordinal(dt.year, dt.month, dt.day,
                                              dt.hour, dt.minute, dt.second, dt.microsecond, 0,
                                              self.base)
```

And then offsets where that won't work should override it (or whichever way is simplest to switch between that and NotImplemented).