code: def start(self):
  		
  		timeout = self.timeout()
  		if timeout is not None and timeout > 0:
  			self.__loop.add_timeout(timedelta(0, timeout), self.stop)
  		self.handler().setup_handler(self.loop())
  		self.loop().start()
  		self.handler().loop_stopped()
docs: Set up handler and start loop
  
  		:return: None