title: How CancelInvoke() works in unity
body: <p>So I thought a lot about phrasing the heading of this thread but somehow ended up with a dumb question.</p>
  
  <p>What I want to do :</p>
  
  <p>I want to refactor my code so that I can replace all Invoke(string,seconds) calls in unity with my own method(Routine) <code>IEnumerator WaitAndExecute(float time, Action callback)</code> which waits for "time" seconds and executes the "callback".</p>
  
  <p>Reason : I don't want to pass methods as strings as it makes it difficult to find references in IDE.</p>
  
  <p>Problem : My CancelInvoke() doesn't work on methods that were executed without Invoke(). </p>
  
  <p>So I want to know how unity keeps tracks of things and references of invoked methods to later cancel them.</p>