code: def _begin_operation_action(self, action):
          
  
          conn_key = action.data['id']
          callback = action.data['callback']
  
          if self._get_connection_state(conn_key) != self.Idle:
              callback(conn_key, self.id, False, 'Cannot start operation, connection is not idle')
              return
  
          data = self._get_connection(conn_key)
          data['state'] = self.InProgress
          data['microstate'] = action.data['operation_name']
          data['action'] = action
docs: Begin an attempted operation.
  
          Args:
              action (ConnectionAction): the action object describing what we are
                  operating on