title: how to deal with 'Self captured by closure before being initialized'
body: <p>Say I have a structure as follows:</p>
  
  <pre><code>class A {
    class ReadyHandler { // fires off the callback when needed
      let callback;
      init(callback: ()-&gt;Void) {
        self.callback = callback
      }
    }
    let readyHandler: ReadyHandler
    let ready = false
    init() {
      readyHandler = ReadyHandler(callback: {self.ready = true})
    }
  }
  </code></pre>
  
  <p>The problem is, naturally, that I'm attempting to initialize a callback using self, which is not yet initialized.
  How can I avoid the circular reference and the respective error?</p>