code: def call_task_fn(self):
  		
  		if not self.fn:
  			return self.log_finished()
  
  		future = asyncio.Future()
  		future.add_done_callback(lambda x: self.log_finished())
  
  		if inspect.iscoroutinefunction(self.fn):
  			f = asyncio.ensure_future(self.fn())
  			f.add_done_callback(lambda x: self.bind_end(x.result(), future))
  		else:
  			self.bind_end(self.fn(), future)
  
  		return future
docs: Call the function attached to the task.