title: Rspec let() cleanup
body: <p>Is there a way to keep track of variables that are created when using let?</p>
  
  <p>I have a series of tests, some of which use let(:server) { #blah blah }. Part of the blah is to wait for the server to start up so that it is in a decent state before it is used. </p>
  
  <p>The issue comes when I'm done with that test. I want to kill the server using server.kill(). This would be almost perfect if I could say something to the effect of </p>
  
  <pre><code>after(:each) { server.kill }
  </code></pre>
  
  <p>But this would create the server and waste all the resources/time to create it when it is referenced, only to kill it immediately if the server hadn't been used in the preceding test. Is there a way to keep track of and only clean up the server if it has been used?</p>