1
First, it should be noted that an NSDictionary can use any object as it's key (as long as it conforms to NSCopying protocol), as such, your setValue:forKey: methods should probably be rewritten to take id as the key argument type, rather than NSString*.
Second, while the structure of your bina...