Added - (void)observe:keyPath:initial:block:

with block
void (^FBKVONotificationChangeBlock)(id object, NSString * keyPath, id oldValue, id newValue);

I was also thinking of adding one that accepting an array of keys. So you could share blocks for different keypaths. Something like; https://github.com/seivan/SHRACComparison#third-sample

I had some thoughts about separating each 'pattern' with subspec.
So you'd have a subspec for block based, one for selectors and one for the old fashioned delegate.