I think you misunderstand what properties are. For our purposes, `NAME` is defined for the class and will be the same for any instance. 

For now don't worry about enforcing that NAME is unique and non-empty. Keep it as a class attribute. I will do some metaclass stuff to enforce our constraints later.