title: CasperJS Not timing out
body: <p>I have a CasperJS script that does various functions and records the times taken by emitting signals after each step. This process works. I have encountered infrequent instances where the custom timeouts I specified are not being called. I know this because the step time is way larger than the timeout. My CasperJS setup looks like this:</p>
  
  <pre><code>var session1 = require('casper').create({
      logLevel: 'debug',
      waitTimeout: 60000,
      userAgent: 'Mozilla/5.0'
  });
  </code></pre>
  
  <p>The function looks like this:</p>
  
  <pre><code>session1.waitForSelector('#Selector', function () {
      this.emit('logged.in');
      this.clickLabel('Clients', 'a');
  }, function timeout() {
      this.emit('genericTimeout', 'Could not log in');
  });
  </code></pre>
  
  <p>In some instances the timeout function is reached, and sometimes, very rarely, it is not. Any advice?</p>