Point is the reason to create this controller plugin. I (now) have to inject both plugin managers in my controller (which is most of the time already quite big with a service, form & options). The current method is:

```php
public function fooAction()
{
    // do some work

    $queueManager = $this->getQueueManager();
    $queueName = $this->getOptions()->getQueueName();
    $queue = $queueManager->get($name);

    $jobManager = $this->getJobManager();
    $job = $jobManager->get('My\Job\SendEmail');
    $job->setContent($data);

    $queue->push($job);
}
```

Having to do this for 3, 4 of 5 jobs is really tedious. Your suggestion is already an improvement, but I'd still consider it too lengthy for ease of use:

```php
public function fooAction()
{
    // do some work
    $name = $this->getOptions()->getQueueName();
    $queue = $this->queue($name);

    $job = $this->queue()->createJob('JobName', $data);
    $queue->push($job);
}
```

While I aimed for something simple like this:

```php
public function fooAction()
{
    // do some work

    $name = $this->getOptions()->getQueueName();
    $this->queue($name)->push('My\Job\SendEmail', $data);
}
```

For this third API, it's also really easy to push multiple jobs into a queue. And (as I see it), there aren't many occasions you use multiple queues inside one controller. Obviously you have to set the queue every time you use the queue in a different controller, but to me, I don't see it as a problem too big to overcome.