title: What is a puppet task in C# asynchronous programming?
body: <p>in a discussion on asynchronous programming in C# the author speaks matter of factly of "puppet tasks". It shows up in various places on stack overflow. But it is only used, never explained. Here are some examples of where it is mentioned <a href="http://putridparrot.com/blog/puppet-task-taskcompletionsource/" rel="nofollow noreferrer">here</a>, <a href="https://stackoverflow.com/questions/19133660/runasync-how-do-i-await-the-completion-of-work-on-the-ui-thread">here</a>, <a href="http://wearedevs.blogspot.com/" rel="nofollow noreferrer">here</a>, and in the book Async in C# 5.0.</p>
  
  <p>What should I make of puppet tasks or puppets in programming? Is it indicating some mockup? A task wrapper or what?<br>
  Thank you.</p>