promote name property to Navigatable trait
TemplateDocument should extend Navigatable trait
handle duplicate names within the same document tree