Call the function attached to the task.

def call_task_fn(self):
		"""Call the function attached to the task."""
		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