A bit of preamble... This post was written about a year ago, shortly after the announcement of Swift at WWDC 2014. I'm afraid much of the code below is out of date, and will likely remain so for a while yet. I hope that it's still useful, but please don't consider it reflective of current "best practices" in swift or ReactiveCocoa, which are both approaching new major versions (swift 2 and Reactiv