<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def create_new_pump_async(self, partition_id, lease):
 """ Create a new pump thread with a given lease. :param partition_id: The partition ID. :type partition_id: str :param lease: The lease to be used. :type lease: ~azure.eventprocessorhost.lease.Lease """

        loop = asyncio.get_event_loop()
        partition_pump = EventHubPartitionPump(self.host, lease)
        # Do the put after start, if the start fails then put doesn't happen
        loop.create_task(partition_pump.open_async())
        self.partition_pumps[partition_id] = partition_pump
        _logger.info("Created new partition pump %r %r", self.host.guid, partition_id)