title: Problem with Mojo::IOLoop timer before redirect
body: <p>i have a sub in my Mojolicious Controller which is called when a csv file is uploaded through a http post.
  After the file is uploaded, a message gets rendered that say "you will be redirected in x seconds".
  so i want to implement Mojo::IOLoop::Delay and as callback i use the redirect statement. But i get the following error by Morbo:</p>
  
  <pre><code>Mojo::Reactor::EV: Timer failed: Transaction already destroyed at /usr/local/share/perl/5.22.1/Mojolicious/Plugin/DefaultHelpers.pm line 168.
  </code></pre>
  
  <p>controller code:</p>
  
  <pre><code>sub upload {
      my $self = shift;
        # Check file size
        return $self-&gt;render(text =&gt; 'File is too big.', status =&gt; 200)
        if $self-&gt;req-&gt;is_limit_exceeded;
  
    # Process uploaded file
    return $self-&gt;redirect_to('/') unless my $newCsv = $self-&gt;param('fileToUpload');
    my $size = $newCsv-&gt;size;
    my $name = $newCsv-&gt;filename;
    my $delay = 2;
    $self-&gt;render(text =&gt; "Thanks for uploading $size byte file $name.&lt;br&gt;
      You will be redirected in $delay seconds");
    Mojo::IOLoop-&gt;timer($delay =&gt; sub {
      $self-&gt;redirect_to('/');
      });
  }
  </code></pre>
  
  <p>relevant routes:</p>
  
  <pre><code>$r-&gt;get('/')-&gt;to(controller =&gt; 'main', action =&gt; 'index');
  $r-&gt;post('/uploadCsv')-&gt;to(controller =&gt; 'main', action =&gt; 'upload')-&gt;name('uploadCsv');
  </code></pre>
  
  <p>Thank you in advance</p>