Check input type
Provide a single method for checks and updates
Perform checks in the most general method
Catch update issues before attempting KVO with no corresponding setter available