title: Extending another node module but intercepting results & emitters
body: <p>I have my own module (lets call it klinquist) that uses <em>restler</em> for its rest calls.  Currently, I'm just extending it:</p>
  
  <pre><code>var rest = require('restler');
  
  klinquist.prototype.rest = rest;
  </code></pre>
  
  <p>In my node app, I simply call </p>
  
  <pre><code>klinquist.rest.get("http://...").on('complete', function(response){}); 
  </code></pre>
  
  <p>and it works great.</p>
  
  <p>I'd like my klinquist node module to do some error checking.  For instance, I'd like to check if response instanceOf Error...   if http status code 401,  run code to refresh access token. After access token is refreshed, <em>then</em> emit the complete to my my node app.</p>
  
  <p>Restler has a dozen functions (.get, .post, etc) and I'd like this logic to apply to all of them without "intercepting them explicitly." </p>
  
  <p>What is the best way to accomplish this?</p>