We might want to catch all (potential) exceptions in _add_ref().
It might be useful to add a _release() method that handles any potential exceptions...