You may want to allow `None` being passed into these methods and allow them to return None. We do that in python-cybox and python-stix: [example](https://github.com/CybOXProject/python-cybox/blob/master/cybox/core/object.py#L144). Also, the method seems to assume the presence of keys, which may not be there (I think). Consider using the dictionary `get()` method which returns `None` by default if the key is not present, or you can set the default value.