Safely handle adding multiple observers
for the same keypath.
Only add self as observer once per keypath.
Merge pull request #3 from cyborch/multiple-observers

Safely handle adding multiple observers for the same keypath.