How about defaulting to None and subtracting self.average() if None?