Minor quibble: Should use `super()` here and in `__init__`.