title: Payload becomes undefined when it reaches the worker
body: <p>So, I'm trying to send a task to a google cloud task queue, but when it reaches there, it becomes undefined. Here are the snapshots of my code. What am I doing wrong?</p>
  
  <p>I'm doing it using node.js and the framework Adonis.js. The payload consists on a object with user information. Something like: { first_name: 'Bla', last_name: 'Bla bla', email: 'bla@bla.com'} and so on. I've done tasks who really works before, but I can't find the error in that one... So, here comes my code snippets:</p>
  
  <p>This is where I create the task:</p>
  
  <pre><code>const payload = { users }
      const http = {
        method: 'PUT',
        endpoint: '/api/task/users',
        headers: {
          Authorization: request.header('Authorization')
        }
      }
  
      const task = new Task('users', http, payload)
  
      try {
        await task.createTask()
      } catch (e) {
        console.log(e)
        return response.status(500).send({ message: 'Users task: Internal Error!' })
      }
  </code></pre>
  
  <p>This is my Task Class (I did it just like the Cloud Tasks documentation btw):</p>
  
  <pre><code>constructor (queue, http, payload = undefined, seconds = undefined) {
      const project = Config.get('google.projectId')
      const location = Config.get('google.location')
  
      this._client = new cloudTasks.CloudTasksClient()
      console.log(project, location, queue)
      this._parent = this._client.queuePath(project, location, queue)
      this._payload = payload
      this._http = http
      this._seconds = seconds
    }
  
    async createTask() {
      const task = {
        appEngineHttpRequest: {
          httpMethod: this._http.method,
          relativeUri: this._http.endpoint,
          headers: this._http.headers
        },
      }
  
      if (this._payload !== undefined) {
        task.appEngineHttpRequest.body = Buffer.from(JSON.stringify(this._payload)).toString('base64')
      }
  
      if (this._seconds !== undefined) {
        task.scheduleTime = {
          seconds: this._seconds + Date.now() / 1000
        }
      }
  
      const request = {
        parent: this._parent,
        task: task
      }
  
      console.log(`Sending task: ${task}`)
      const [ res ] = await this._client.createTask(request)
      console.log(`Created task ${res.name}`)
    }
  </code></pre>
  
  <p>And this is the worker who will receive the task:</p>
  
  <pre><code>async users ({ request, response, domain }) {
      const { users } = request.only(['users'])
  
      for (const user of users) {
        try {
          let u = await User.findOrCreate({ email: user.email }, user)
          if (u.id) {
            u.merge(user)
            await u.save()
          } else {
            await u.test().associate(test)
          }
        } catch (e) {
          console.log(e)
          return response.status(500).send(`User Task Error: ${e}`)
        }
      }
  </code></pre>
  
  <p>I was expecting the same object I described before reaching the worker, but I just can get a "undefined" value. Can you guys help me? Thanks! :D</p>