So the nice thing about ABCs is there's no need to use inheritance with them, instead we can do:

```
class ModeWithInitializationVector(object):
    __metaclass__ = abc.ABCMeta
```

And then:

```
ModeWithInitializationVector.register(AES)
```

that way we don't have annoying inheritance things to deal with