I think we can support: a) the callback object; b) object+name tuple; c) name. For the first two we have guaranteed uniqueness. If a user passes a name, and the name is not unique, then we should produce a warning.