self.axis isn't part of the abstract definition.