I'm trying to implement KVOController in my app. I managed to get it working on custom UISliders, but I can't seem to get it working on a custom NSObject. This is the object:
Restaurant.h
#import <UIKit/UIKit.h>
@interface Restaurant : NSObject
@property (nonatomic, copy, readonly) NSString *name, *tagline;
@property (nonatomic, copy, readonly) UIColor *uicolor;
- (id)initWithName:(NSString *)main;
- (void)setName:(NSString *)title;
- (void)changeColor:(UIColor)color;
@end
Restaurant.m
@implementation Restaurant
- (id)initWithName:(NSString *)main {
    self = [super init];
    if (self)
    {
        _name = main;
    }
    return self;
}
- (void)setName:(NSString *)title {
    _name = title;
}
- (void)changeColor:(UIColor)color {
    _uicolor = color;
}
@end
So, I introduced this listener into my code:
- (void)viewDidLoad {
    [super viewDidLoad];
    self.restaurant = [[Restaurant alloc] initWithName:@"test"];
    [self.restaurant changeColor:[UIColor blueColor]];
    FBKVOController *KVOController = [FBKVOController controllerWithObserver:self];
    self.KVOController = KVOController;
    [self.KVOController observe:self.restaurant keyPath:@"name" options:NSKeyValueObservingOptionInitial|NSKeyValueObservingOptionNew block:^(id observer, id object, NSDictionary *change) {
        NSLog(@"Restaurant changed!");
    }];
}
- (void)someOtherMethod:(id)sender {
    [self.restaurant setName:@"Another test"];
    [self.restaurant changeColor:[UIColor redColor]];
}
However, this isn't logging anything for this, nor when I change the keyPath to @"uicolor". What am I doing wrong?