The key themes here are:
1) What can I do with the name? What other APIs can I pass the name back
2) Is there a formal grammar for the name that I can use to compose / decompose
3) Name identity: If two names are the same, do they refer to the same object?
4) How much context does the name need in order to have meaning?