Why did you change this from raising `NotImplementedError` isn't this an abstract base class?