Move check method up to consumer class
Add comment about special cases
Handle 'self' key
Wrap numeric types in NSNumber