title: Yeoman: Call Sub-Generator With User-Supplied Arguments
body: <p>I'm writing my first Yeoman generator, which prompts the user for various inputs and conditionally creates files based on their responses.  I need to be able to call a subroutine (could be a Yeoman sub-generator) based on user input, and pass arguments to it.  </p>
  
  <p>The reason I want to use named functions (which are not automatically run) is that sometimes the user's response should invoke a number of functions combined, and sometimes the function should be run alone.</p>
  
  <p><strong>What I have tried:</strong></p>
  
  <p>I figured sub-generators were the way to go, since I'm creating sets of files only if the user requests them. But I'm having trouble calling them <em>conditionally</em> and passing them the user-supplied input.  I've tried using <code>hookFor</code>, but I get the assertion error: <code>hookFor must be used within the constructor only</code>.  (Because I don't want it to be run by default, I'm calling the sub-generator from my <code>this.prompt(prompts, function (props)</code>).</p>
  
  <p><strong>The question:</strong></p>
  
  <p>How do I call a routine only if the user requests it (via a prompt), and pass that routine some user-supplied information?</p>
  
  <p>If you're kind enough to answer, please don't assume that I've tried something obvious ;-).</p>