Peter open-sourced Aspects yesterday, a library for aspect oriented programming.
Think of Aspects as method swizzling on steroids. It allows you to add code to existing methods per class or per instance.
This can be pretty useful, for instance when you're implementing custom logging or need to hook into the view controller life-cycle methods if subclassing is not an option.
It's inspired by, and be used as an alternative to
ReactiveCocoa. Also check out this article that explains what's
going on under the hood.