diff --git a/src/main/grammar/Aspect.bnf b/src/main/grammar/Aspect.bnf
index 65e0e185e86f5ea428ef7233c62d45a150761909..e8bdb09b894c75068adbab329f8217ce80f1e15f 100644
--- a/src/main/grammar/Aspect.bnf
+++ b/src/main/grammar/Aspect.bnf
@@ -37,7 +37,7 @@ type_declaration ::= SEMICOLON | (modifiers ( class_declaration | interface_decl
 aspect_declaration ::= ASPECT aspect_name aspect_body
 {
   extends="org.jastadd.tooling.aspect.psi.impl.JastAddAspectAspectDeclarationImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 aspect_body ::= LBRACE aspect_body_declaration* RBRACE
@@ -221,7 +221,7 @@ reference_type ::= ( primitive_type (LBRACKET RBRACKET)+ ) | ( class_or_interfac
 class_or_interface_type ::= java_identifier type_arguments? (DOT java_identifier type_arguments? )*
 {
   extends="org.jastadd.tooling.aspect.psi.impl.JastAddAspectClassOrInterfaceTypeImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 type_arguments ::= LT (type_argument (COMMA type_argument)* )? GT
@@ -397,7 +397,7 @@ attribute_name ::= IDENTIFIER
 ast_type_name ::= IDENTIFIER
 {
   extends="org.jastadd.tooling.aspect.psi.impl.JastAddAspectAstTypeNameImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 aspect_name ::= IDENTIFIER
diff --git a/src/main/grammar/Grammar.bnf b/src/main/grammar/Grammar.bnf
index df4ab340fe111e7d0c0c3d3b8f11ffa0d52f0a20..34db53bc3d952affdf27c6c4d9846762c6a16e6e 100644
--- a/src/main/grammar/Grammar.bnf
+++ b/src/main/grammar/Grammar.bnf
@@ -22,7 +22,7 @@ comment ::= (WHITESPACE | MULTILINECOMMENT | DOCCOMMENT | SINGLELINECOMMENT)
 type_decl ::= ABSTRACT? type_name (COL type_name)? (ASSIGN (component | nta_component)*)? SCOL
 {
   extends="org.jastadd.tooling.grammar.psi.impl.GrammarTypeDeclImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 nta_component ::= SLASH component SLASH
@@ -47,13 +47,13 @@ navigable_role ::= type_name DOT component_name (STAR | QUESTION_MARK)?
 type_name ::= ID
 {
   extends="org.jastadd.tooling.grammar.psi.impl.GrammarTypeNameImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 component_name ::= ID
 {
   extends="org.jastadd.tooling.grammar.psi.impl.GrammarComponentNameImplExtension"
-  implements="org.jastadd.tooling.grammar.psi.GrammarNamedElement"
+  implements="org.jastadd.tooling.common.psi.NamedElement"
 }
 
 
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/JastAddAspectAttribute.java b/src/main/java/org/jastadd/tooling/aspect/psi/JastAddAspectAttribute.java
index 961119593abda78feb39dd0864eba7e668433d81..c2fd74630c60ff04810ece7ba4ef16914b41c919 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/JastAddAspectAttribute.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/JastAddAspectAttribute.java
@@ -1,9 +1,9 @@
 package org.jastadd.tooling.aspect.psi;
 
 import com.intellij.psi.PsiElement;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.common.psi.NamedElement;
 
-public interface JastAddAspectAttribute extends PsiElement, GrammarNamedElement {
+public interface JastAddAspectAttribute extends PsiElement, NamedElement {
 
   String signature();
 
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectDeclarationImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectDeclarationImplExtension.java
index bac6dcc17deace69d231bde12882c8f1c2385d35..337ad11a6adb005f8b8ccc8c16cff5b88735ad92 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectDeclarationImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectDeclarationImplExtension.java
@@ -2,21 +2,19 @@ package org.jastadd.tooling.aspect.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.navigation.ItemPresentation;
-import com.intellij.openapi.editor.Document;
-import com.intellij.openapi.fileEditor.FileDocumentManager;
 import com.intellij.psi.PsiElement;
 import org.jastadd.tooling.aspect.psi.AspectElementFactory;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAspectDeclaration;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAspectName;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.NamedElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import javax.swing.*;
 
-public class JastAddAspectAspectDeclarationImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class JastAddAspectAspectDeclarationImplExtension extends NamedElementImpl implements NamedElement {
 
   public JastAddAspectAspectDeclarationImplExtension(@NotNull ASTNode node) {
     super(node);
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectInhAttributeDeclarationImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectInhAttributeDeclarationImplExtension.java
index 91838ecc4b6e0d8fab4583012637b6b13d6b2f6d..5851ca2b4f71d03572d162674f296a2911238980 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectInhAttributeDeclarationImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectInhAttributeDeclarationImplExtension.java
@@ -2,16 +2,13 @@ package org.jastadd.tooling.aspect.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.navigation.ItemPresentation;
-import com.intellij.openapi.editor.Document;
-import com.intellij.openapi.fileEditor.FileDocumentManager;
 import com.intellij.openapi.util.NlsSafe;
 import com.intellij.psi.PsiElement;
 import com.intellij.util.IncorrectOperationException;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAspectInhAttributeDeclaration;
-import org.jastadd.tooling.aspect.psi.JastAddAspectAspectSynAttributeDeclaration;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAttribute;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -19,7 +16,7 @@ import org.jetbrains.annotations.Nullable;
 import javax.swing.*;
 import java.util.stream.Collectors;
 
-public abstract class JastAddAspectAspectInhAttributeDeclarationImplExtension extends GrammarNamedElementImpl implements JastAddAspectAttribute {
+public abstract class JastAddAspectAspectInhAttributeDeclarationImplExtension extends NamedElementImpl implements JastAddAspectAttribute {
   public JastAddAspectAspectInhAttributeDeclarationImplExtension(@NotNull ASTNode node) {
     super(node);
   }
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectSynAttributeDeclarationImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectSynAttributeDeclarationImplExtension.java
index ecb2e41b38bb4ae0d6bb908b81aff09a143747ea..ffa93a2b6ff925f59b3708199fc1962484b4eb3e 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectSynAttributeDeclarationImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAspectSynAttributeDeclarationImplExtension.java
@@ -2,15 +2,13 @@ package org.jastadd.tooling.aspect.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.navigation.ItemPresentation;
-import com.intellij.openapi.editor.Document;
-import com.intellij.openapi.fileEditor.FileDocumentManager;
 import com.intellij.openapi.util.NlsSafe;
 import com.intellij.psi.PsiElement;
 import com.intellij.util.IncorrectOperationException;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAspectSynAttributeDeclaration;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAttribute;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -18,7 +16,7 @@ import org.jetbrains.annotations.Nullable;
 import javax.swing.*;
 import java.util.stream.Collectors;
 
-public abstract class JastAddAspectAspectSynAttributeDeclarationImplExtension extends GrammarNamedElementImpl implements JastAddAspectAttribute {
+public abstract class JastAddAspectAspectSynAttributeDeclarationImplExtension extends NamedElementImpl implements JastAddAspectAttribute {
   public JastAddAspectAspectSynAttributeDeclarationImplExtension(@NotNull ASTNode node) {
     super(node);
   }
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAstTypeNameImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAstTypeNameImplExtension.java
index 50be78d826ecc6c22a0b7580f91e836e8712e8a2..4f7fa54c69b5b7c2ba01028e4f4065cd1e19312c 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAstTypeNameImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectAstTypeNameImplExtension.java
@@ -5,11 +5,11 @@ import com.intellij.psi.PsiElement;
 import org.jastadd.tooling.aspect.psi.AspectElementFactory;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAstTypeName;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.NamedElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jetbrains.annotations.NotNull;
 
-public class JastAddAspectAstTypeNameImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class JastAddAspectAstTypeNameImplExtension extends NamedElementImpl implements NamedElement {
 
   public JastAddAspectAstTypeNameImplExtension(@NotNull ASTNode node) {
     super(node);
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectClassOrInterfaceTypeImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectClassOrInterfaceTypeImplExtension.java
index c483eff0fb41607f3aa3aa35f3863c547ddfa33a..e702693db65ba94f16ab06117a19535f0a97cf50 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectClassOrInterfaceTypeImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectClassOrInterfaceTypeImplExtension.java
@@ -5,11 +5,11 @@ import com.intellij.psi.PsiElement;
 import org.jastadd.tooling.aspect.psi.AspectElementFactory;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jastadd.tooling.aspect.psi.JastAddAspectClassOrInterfaceType;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.NamedElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jetbrains.annotations.NotNull;
 
-public class JastAddAspectClassOrInterfaceTypeImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class JastAddAspectClassOrInterfaceTypeImplExtension extends NamedElementImpl implements NamedElement {
 
   public JastAddAspectClassOrInterfaceTypeImplExtension(@NotNull ASTNode node) {
     super(node);
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectCollectionAttributeImplExtension.java b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectCollectionAttributeImplExtension.java
index 7fde5d31a6de5cf298746728fe2f956072f8f007..d38d8276beed065cc6a13c121e596b788dfe7d00 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectCollectionAttributeImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/impl/JastAddAspectCollectionAttributeImplExtension.java
@@ -8,14 +8,14 @@ import com.intellij.util.IncorrectOperationException;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jastadd.tooling.aspect.psi.JastAddAspectAttribute;
 import org.jastadd.tooling.aspect.psi.JastAddAspectCollectionAttribute;
-import org.jastadd.tooling.grammar.psi.impl.GrammarNamedElementImpl;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import javax.swing.*;
 
-public abstract class JastAddAspectCollectionAttributeImplExtension extends GrammarNamedElementImpl implements JastAddAspectAttribute {
+public abstract class JastAddAspectCollectionAttributeImplExtension extends NamedElementImpl implements JastAddAspectAttribute {
   public JastAddAspectCollectionAttributeImplExtension(@NotNull ASTNode node) {
     super(node);
   }
diff --git a/src/main/java/org/jastadd/tooling/common/psi/NamedElement.java b/src/main/java/org/jastadd/tooling/common/psi/NamedElement.java
new file mode 100644
index 0000000000000000000000000000000000000000..0444f8a7778c38f7e69c0a436fb036b133abdf68
--- /dev/null
+++ b/src/main/java/org/jastadd/tooling/common/psi/NamedElement.java
@@ -0,0 +1,7 @@
+package org.jastadd.tooling.common.psi;
+
+import com.intellij.psi.PsiNameIdentifierOwner;
+
+public interface NamedElement extends PsiNameIdentifierOwner {
+
+}
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java b/src/main/java/org/jastadd/tooling/common/psi/impl/NamedElementImpl.java
similarity index 79%
rename from src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java
rename to src/main/java/org/jastadd/tooling/common/psi/impl/NamedElementImpl.java
index 9177854327a9e69383d116b5531d75bf71628eda..56b1da56010246218172625be7dc6a74c6ad6bea 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java
+++ b/src/main/java/org/jastadd/tooling/common/psi/impl/NamedElementImpl.java
@@ -1,20 +1,20 @@
-package org.jastadd.tooling.grammar.psi.impl;
+package org.jastadd.tooling.common.psi.impl;
 
 import com.intellij.extapi.psi.ASTWrapperPsiElement;
 import com.intellij.lang.ASTNode;
 import com.intellij.navigation.ItemPresentation;
 import com.intellij.psi.PsiReference;
 import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.common.psi.NamedElement;
 import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import javax.swing.*;
 
-public abstract class GrammarNamedElementImpl extends ASTWrapperPsiElement implements GrammarNamedElement {
+public abstract class NamedElementImpl extends ASTWrapperPsiElement implements NamedElement {
 
-  protected GrammarNamedElementImpl(@NotNull ASTNode node) {
+  protected NamedElementImpl(@NotNull ASTNode node) {
     super(node);
   }
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarNamedElement.java b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarNamedElement.java
deleted file mode 100644
index 69b6fe7cbf9737f3d18e9ba6e2830c7d9cd78910..0000000000000000000000000000000000000000
--- a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarNamedElement.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.jastadd.tooling.grammar.psi;
-
-import com.intellij.psi.PsiNameIdentifierOwner;
-
-public interface GrammarNamedElement extends PsiNameIdentifierOwner {
-
-}
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarComponentNameImplExtension.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarComponentNameImplExtension.java
index 8f4fc2504ff8fba1970c99bf9c7dd81ba568abda..439cdcd49d0b75e27ba7fa55d0f81b545a5f3fc6 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarComponentNameImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarComponentNameImplExtension.java
@@ -2,12 +2,13 @@ package org.jastadd.tooling.grammar.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.psi.PsiElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.grammar.psi.GrammarComponentName;
 import org.jastadd.tooling.grammar.psi.GrammarElementFactory;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.common.psi.NamedElement;
 import org.jetbrains.annotations.NotNull;
 
-public class GrammarComponentNameImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class GrammarComponentNameImplExtension extends NamedElementImpl implements NamedElement {
 
   public GrammarComponentNameImplExtension(@NotNull ASTNode node) {
     super(node);
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java
index 7be798bc7a666dc7117385a630b7cec5c8498ec9..12b2c992a793920ca91bdbc61419bced41dcb2a7 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java
@@ -2,13 +2,14 @@ package org.jastadd.tooling.grammar.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.psi.PsiElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.grammar.parser.GrammarTypes;
 import org.jastadd.tooling.grammar.psi.GrammarElementFactory;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.common.psi.NamedElement;
 import org.jastadd.tooling.grammar.psi.GrammarTypeName;
 import org.jetbrains.annotations.NotNull;
 
-public class GrammarTypeDeclImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class GrammarTypeDeclImplExtension extends NamedElementImpl implements NamedElement {
 
   public GrammarTypeDeclImplExtension(@NotNull ASTNode node) {
     super(node);
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeNameImplExtension.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeNameImplExtension.java
index 753e63cc14ca327f4e521221916b9e293e854641..c33cd5ff330224bb63e1e75779dc257cb6134eae 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeNameImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeNameImplExtension.java
@@ -2,12 +2,13 @@ package org.jastadd.tooling.grammar.psi.impl;
 
 import com.intellij.lang.ASTNode;
 import com.intellij.psi.PsiElement;
+import org.jastadd.tooling.common.psi.impl.NamedElementImpl;
 import org.jastadd.tooling.grammar.psi.GrammarElementFactory;
-import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.common.psi.NamedElement;
 import org.jastadd.tooling.grammar.psi.GrammarTypeName;
 import org.jetbrains.annotations.NotNull;
 
-public class GrammarTypeNameImplExtension extends GrammarNamedElementImpl implements GrammarNamedElement {
+public class GrammarTypeNameImplExtension extends NamedElementImpl implements NamedElement {
 
   public GrammarTypeNameImplExtension(@NotNull ASTNode node) {
     super(node);