title: gapi.signIn calling more than one callback
body: <p>I am currently calling on the <code>gapi.signIn</code> method in more than one place with an app.</p>
  
  <ol>
  <li>When user is signing in</li>
  <li>When user is signing up</li>
  <li>When user wants to link their app account to their Google account</li>
  </ol>
  
  <p>So the <code>gapi.signIn()</code> is being called in each of these instances, with a different callback parameter.</p>
  
  <p>Since this is a single-page-app once all the actions have been performed without reloading the page, and latter calls to anyone of the above methods results in each of the callbacks to be fired. </p>
  
  <p>Ex.
  If a user signs in, then logs out and tries to create a new they are told their google account is already tied to an account (this is the expected behaviour).  However if they try to signin again, the previous callback that was called when trying to create a user is fired again and they will be again be sent to the page explaining that the google account is tied to an app account.</p>
  
  <p>To explain things with a simple code example:</p>
  
  <pre><code>    var ENV = {...};
  
      function handleClickOfButton_1() {
  
          window.authCallback_1 = function() {
              console.log('callback 1');
          };
  
          // attach callback one
          gapi.auth.signIn({
          clientid:     ENV.APP.GOOGLE_AUTH.clientid,
          scope:        ENV.APP.GOOGLE_AUTH.scope,
          cookiepolicy: 'single_host_origin',
          callback:     'authCallback_1',
        });
      }
  
      function handleClickOfButton_2() {
          window.authCallback_2 = function() {
              console.log('callback 2');
          };
  
          // attach callback one
          gapi.auth.signIn({
          clientid:     ENV.APP.GOOGLE_AUTH.clientid,
          scope:        ENV.APP.GOOGLE_AUTH.scope,
          cookiepolicy: 'single_host_origin',
          callback:     'authCallback_2',
        });
      }
  </code></pre>
  
  <p>If I click button one, which triggers the first handler, the signIn method will be called once, if I then click the second button, BOTH callback methods will be called.</p>
  
  <p>Output:</p>
  
  <pre><code>// click button 1
  &gt; callback 1
  
  // click button 2
  &gt; callback 1
  &gt; callback 2
  </code></pre>
  
  <p>How can I prevent this? I haven't been able to find a reset method.  Using the same callback method name, doesn't help.  Overriding the window.[method_name] doesn't work either.</p>