Support self.timeout