diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java
new file mode 100644
index 0000000..4e1279e
--- /dev/null
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java
@@ -0,0 +1,48 @@
+// Copyright (C) 2014 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.googlesource.gerrit.plugins.github.group;
+
+
+
+import com.google.gerrit.common.data.GroupDescription.Basic;
+import com.google.gerrit.reviewdb.client.AccountGroup.UUID;
+
+public abstract class GitHubGroup implements Basic {
+  public static final String UUID_PREFIX = "github:";
+  public static final String NAME_PREFIX = "github/";
+  protected final UUID uuid;
+  protected final String url;
+
+  public GitHubGroup(UUID uuid, String url) {
+    this.uuid = uuid;
+    this.url = url;
+  }
+
+  @Override
+  public String getEmailAddress() {
+    return "";
+  }
+
+  @Override
+  public UUID getGroupUUID() {
+    return uuid;
+  }
+
+  @Override
+  public String getUrl() {
+    return url;
+  }
+
+}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java
index ace3687..01a0f89 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java
@@ -24,35 +24,18 @@
 import com.google.inject.Inject;
 import com.google.inject.assistedinject.Assisted;
 
-public class GitHubOrganisationGroup implements Basic {
-  public static final String UUID_PREFIX = "github:";
-  public static final String NAME_PREFIX = "github/";
-
+public class GitHubOrganisationGroup extends GitHubGroup implements Basic {
   public interface Factory {
     GitHubOrganisationGroup get(@Assisted("orgName") String orgName,
         @Assisted("orgUrl") @Nullable String orgUrl);
   }
 
   private final String orgName;
-  private final UUID uuid;
-  private final String url;
-
   @Inject
   GitHubOrganisationGroup(@Assisted("orgName") String orgName,
       @Assisted("orgUrl") @Nullable String orgUrl) {
+    super(uuid(orgName), orgUrl);
     this.orgName = orgName;
-    this.uuid = uuid(orgName);
-    this.url = orgUrl;
-  }
-
-  @Override
-  public String getEmailAddress() {
-    return "";
-  }
-
-  @Override
-  public UUID getGroupUUID() {
-    return uuid;
   }
 
   @Override
@@ -60,11 +43,6 @@
     return NAME_PREFIX + orgName;
   }
 
-  @Override
-  public String getUrl() {
-    return url;
-  }
-
   public static GitHubOrganisationGroup fromUUID(UUID uuid) {
     checkArgument(uuid.get().startsWith(UUID_PREFIX), "Invalid GitHub UUID '"
         + uuid + "'");
